Function at 0x1c402760
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x158
xor eax, eax
mov dword [esp + 8], eax
push ebx
mov dword [esp + 4], eax
push esi
mov ebx, dword [esp + 0x164]
push edi
mov ecx, dword [esp + 0x190]
push ebp
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x2c], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x190]
mov dword [ebx + 0x34], eax
mov dword [ebx + 0x28], edx
mov dword [esp + 0x80], 1
mov dword [ebx + 0x2c], ecx
mov eax, dword [esp + 0x170]
add dword [esp + 0x170], 4
mov eax, dword [eax]
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [0x1c4b0868]
and eax, ecx
mov esi, 8
mov ecx, 2
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4027e9
cmp eax, 0x3fff8
je 0x1c402839
mov eax, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov esi, dword [esp + 0x10]
mov eax, dword [0x1c4b082c]
shr esi, 2
and esi, eax
cmp esi, 7
jne 0x1c40285c
mov eax, 0x10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
xor eax, eax
mov ecx, dword [ebx + 0x88]
mov dword [ebx], esi
mov dword [esp + 0x3c], eax
cmp ecx, eax
jne 0x1c402885
cmp esi, 1
je 0x1c40287d
cmp esi, 2
je 0x1c40287d
cmp esi, 4
jne 0x1c402885
mov dword [esp + 0x3c], 1
mov eax, dword [ebx + 0x8c]
test eax, eax
jne 0x1c4028a1
xor eax, eax
mov ecx, dword [esp + 0x3c]
cmp esi, 3
sete al
or ecx, eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [0x1c4b0828]
shr eax, 5
and eax, ecx
test al, 2
je 0x1c4028c4
mov eax, 0xf
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebx + 0xa0]
and eax, 3
and ecx, 0xfffffffc
mov edx, dword [esp + 0x10]
shr edx, 7
or eax, ecx
mov ebp, dword [0x1c4b0824]
mov edi, 1
and edx, ebp
mov dword [ebx + 0xa0], ecx
mov dword [esp + 0x14], 0x18
mov dword [ebx + 0xa0], eax
mov eax, 8
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr ecx, 8
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov cl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl ecx, 0x18
or ebp, ecx
mov ecx, dword [esp + 0x170]
inc ecx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], ecx
add ebp, eax
dec edi
mov dword [esp + 0x18], ebp
jne 0x1c4028ff
test edx, edx
je 0x1c4029a0
mov edx, dword [esp + 0x10]
mov eax, dword [0x1c4b0880]
and edx, eax
mov edi, 3
mov dword [esp + 0x14], 0x30
mov eax, 8
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr ecx, 8
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov cl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl ecx, 0x18
or ebp, ecx
mov ecx, dword [esp + 0x170]
inc ecx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], ecx
add ebp, eax
dec edi
mov dword [esp + 0x18], ebp
jne 0x1c402960
mov dword [ebx + 0x38], edx
cmp esi, 5
je 0x1c404ea6
cmp esi, 6
je 0x1c404ea6
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
inc ecx
mov dword [esp + 0x6c], eax
cmp ecx, 8
jb 0x1c402a1e
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c4029e5
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x18f6c], eax
test eax, eax
je 0x1c402b35
mov eax, dword [esp + 0x19c]
test eax, eax
jne 0x1c402a4b
mov eax, 0x14
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x10
mov edx, dword [0x1c4b0860]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 0x10
mov dword [esp + 0x68], eax
cmp ecx, 8
jb 0x1c402ab8
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c402a7f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x10
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b0860]
shr edi, cl
and edi, edx
add ecx, 0x10
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c402b28
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402ae8
shl edi, 0x10
mov eax, dword [esp + 0x68]
or eax, edi
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 3
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b082c]
shr edi, cl
and edi, edx
add ecx, 3
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c402ba5
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402b65
cmp edi, 7
jne 0x1c402c9e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x10
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b0860]
shr edi, cl
and edi, edx
add ecx, 0x10
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c402c1e
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402bde
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x10
mov edx, dword [0x1c4b0860]
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
shr edi, cl
and edi, edx
add ecx, 0x10
cmp ecx, 8
jb 0x1c402c95
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402c55
mov dword [esp + 0xb0], edi
jmp 0x1c402cba
mov eax, dword [edi*4 + 0x1c4b0030]
mov ecx, dword [edi*4 + 0x1c4b0058]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [ebx + 8]
cmp ecx, eax
jne 0x1c402cd6
mov eax, dword [esp + 0xb0]
mov ecx, dword [ebx + 0xc]
cmp ecx, eax
je 0x1c402d09
test esi, esi
je 0x1c402cea
mov eax, 9
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [ebx + 8], ecx
lea eax, [ebx + 8]
mov dword [esp + 0x2c], 1
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b0824]
shr edi, cl
and edi, edx
inc ecx
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c402d75
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402d35
test edi, edi
je 0x1c402e99
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 4
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b0830]
shr edi, cl
and edi, edx
add ecx, 4
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c402ded
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, edx
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402dad
xor eax, eax
mov al, byte [0x1c4b390c]
cmp edi, eax
jne 0x1c402dfd
mov ecx, dword [ebx + 8]
jmp 0x1c402e05
movsx ecx, word [edi*2 + 0x1c4b3910]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add edx, 4
mov ebp, dword [0x1c4b0830]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x14]
and ecx, 7
mov dword [esp + 0x14], edx
shr edi, cl
and edi, ebp
add ecx, 4
cmp ecx, 8
jb 0x1c402e78
shr ecx, 3
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr edx, 8
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
or ebp, edx
mov edx, dword [esp + 0x170]
inc edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], edx
add ebp, 8
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c402e37
cmp edi, eax
jne 0x1c402e88
mov eax, dword [ebx + 0xc]
mov dword [esp + 0xb0], eax
jmp 0x1c402ead
movsx eax, word [edi*2 + 0x1c4b3910]
mov dword [esp + 0xb0], eax
jmp 0x1c402ead
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xac]
mov ecx, dword [ebx + 0x50]
cmp ecx, eax
jne 0x1c402ec9
mov eax, dword [esp + 0xb0]
mov ecx, dword [ebx + 0x54]
cmp ecx, eax
je 0x1c402efc
test esi, esi
je 0x1c402edd
mov eax, 0xf
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [ebx + 0x50], ecx
lea eax, [ebx + 0x50]
mov dword [esp + 0x38], 1
mov dword [eax + 4], edx
mov ebp, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x54]
mov edi, dword [ebx + 0x50]
mov edx, dword [ebx + 8]
lea eax, [ecx + ebp - 1]
mov dword [ebx + 0x5c], eax
lea edi, [edi + edx - 1]
sub edx, edx
mov dword [ebx + 0x58], edi
div ecx
mov ecx, eax
sub edx, edx
mov eax, edi
mov dword [ebx + 0x5c], ecx
div dword [ebx + 0x50]
mov dword [ebx + 0x58], eax
imul eax, ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
and ecx, 7
mov dword [esp + 0x28], eax
shr edx, cl
mov eax, dword [esp + 0x14]
add ecx, 2
add eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [0x1c4b0828]
and edx, eax
cmp ecx, 8
jb 0x1c402f9a
shr ecx, 3
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi]
mov edi, dword [esp + 0x10]
shl eax, 0x18
or edi, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add edi, 8
dec ecx
mov dword [esp + 0x18], edi
jne 0x1c402f5a
cmp edx, 3
jne 0x1c403090
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 2
mov edx, dword [esp + 0x10]
mov edi, dword [0x1c4b0828]
shr edx, cl
and edx, edi
add ecx, 2
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c40300e
shr ecx, 3
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi]
mov edi, dword [esp + 0x10]
shl eax, 0x18
or edi, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add edi, 8
dec ecx
mov dword [esp + 0x18], edi
jne 0x1c402fce
mov eax, dword [edx*4 + 0x1c4b0090]
mov ecx, dword [esp + 0x14]
and ecx, 7
mov edx, dword [esp + 0x14]
add edx, 2
mov edi, dword [0x1c4b0828]
mov dword [esp + 0xb0], eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
shr edx, cl
and edx, edi
add ecx, 2
cmp ecx, 8
jb 0x1c403087
shr ecx, 3
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi]
mov edi, dword [esp + 0x10]
shl eax, 0x18
or edi, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add edi, 8
dec ecx
mov dword [esp + 0x18], edi
jne 0x1c403047
mov ecx, dword [edx*4 + 0x1c4b00b0]
jmp 0x1c4030a5
mov eax, dword [edx*4 + 0x1c4b0080]
mov ecx, dword [edx*4 + 0x1c4b00a0]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
sub edx, edx
lea eax, [eax + ebp - 1]
div dword [esp + 0xb0]
mov edx, dword [ebx + 8]
mov dword [esp + 0xb0], eax
lea eax, [ecx + edx - 1]
sub edx, edx
div ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0xac], eax
cmp ecx, eax
jne 0x1c4030e7
mov eax, dword [esp + 0xb0]
mov ecx, dword [ebx + 0x14]
cmp ecx, eax
je 0x1c40311a
test esi, esi
je 0x1c4030fb
mov eax, 0xf
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [ebx + 0x10], ecx
lea eax, [ebx + 0x10]
mov dword [esp + 0x2c], 1
mov dword [eax + 4], edx
mov eax, dword [ebx + 8]
lea edx, [ebx + 0x140]
mov dword [ebx + 0x114], eax
mov dword [ebx + 0x118], ebp
mov eax, dword [ebx + 0x10]
mov dword [edx], 0
mov ecx, dword [ebx + 0x14]
mov dword [ebx + 0x148], eax
lea esi, [ebx + 0x174]
mov dword [ebx + 0x14c], ecx
mov dword [ebx + 0x10c], 0
mov dword [ebx + 0x110], 0
mov dword [ebx + 0x144], 0
mov eax, dword [edx]
mov edi, dword [edx + 4]
mov dword [esi], eax
mov eax, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], edx
mov edi, dword [esp + 0x18c]
mov eax, dword [esp + 0x190]
mov dword [ebx + 0xfc], edi
mov edi, dword [esp + 0x194]
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], edi
lea edx, [esp + 0x18c]
lea esi, [ebx + 0xfc]
mov eax, dword [ebx + 0x10]
imul eax, dword [esp + 0x18c]
mov edx, dword [edx + 0xc]
mov dword [esi + 0xc], edx
lea esi, [ebx + 0x130]
sub edx, edx
div dword [ebx + 8]
sub edx, edx
mov dword [esi], eax
mov eax, ecx
imul eax, dword [esp + 0x190]
div ebp
sub edx, edx
mov dword [ebx + 0x134], eax
mov eax, dword [ebx + 0x10]
imul eax, dword [esp + 0x194]
div dword [ebx + 8]
sub edx, edx
lea edi, [ebx + 0x164]
mov dword [ebx + 0x138], eax
mov eax, ecx
imul eax, dword [esp + 0x198]
div ebp
mov dword [ebx + 0x13c], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [edi], eax
mov eax, dword [esi + 8]
mov dword [edi + 4], edx
mov edx, dword [esi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
add ebp, 0x1f
add ecx, 0x1f
and ebp, 0xffffffe0
and ecx, 0xffffffe0
mov eax, dword [ebx + 0x180]
mov edx, dword [ebx + 0x17c]
add eax, 0x1f
mov dword [ebx + 0x12c], ebp
and eax, 0xffffffe0
mov dword [ebx + 0x160], ecx
imul edx, eax
mov dword [ebx + 0x194], eax
mov eax, dword [ebx + 8]
imul eax, ebp
add edx, eax
mov eax, dword [ebx + 0x10]
imul eax, ecx
add eax, edx
xor ecx, ecx
mov dword [esp + 0x90], eax
lea eax, [esp + 0xc8]
mov dword [eax], ecx
add eax, 8
lea edx, [esp + 0x118]
cmp eax, edx
mov dword [eax - 4], ecx
jb 0x1c403280
xor eax, eax
mov edx, 1
lea ecx, [esp + 0x11c]
mov dword [esp + 0x20], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 2
mov ebp, dword [0x1c4b0828]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, ebp
add ecx, 2
mov dword [esp + 0x34], eax
cmp ecx, 8
jb 0x1c40332b
shr ecx, 3
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, 8
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c4032ea
mov eax, dword [esp + 0x34]
cmp eax, 3
jne 0x1c4033b3
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0xac]
add ecx, 8
mov dword [esp + 0x60], ecx
nop
mov dword [ecx - 8], eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [ecx - 0xc], ebp
mov ebp, dword [esp + edx*8 + 0xcc]
mov ecx, dword [esp + edx*8 + 0xc8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xb0]
sub eax, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xac]
sub eax, ecx
lea ecx, [ebp*4]
mov dword [esp + 0xac], eax
nop
mov ebp, dword [ecx + 0x1c4b0020]
mov eax, dword [ecx + 0x1c4b0010]
mov dword [esp + edx*8 + 0xcc], eax
mov dword [esp + edx*8 + 0xc8], ebp
jmp 0x1c4033f4
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0xb0]
shl ecx, 2
mov eax, dword [ecx + 0x1c4b0010]
add ebp, eax
mov dword [esp + edx*8 + 0xcc], eax
mov eax, dword [ecx + 0x1c4b0020]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + edx*8 + 0xc8], eax
add ebp, eax
mov dword [esp + 0xac], ebp
mov eax, dword [ecx + section..rdata]
add edx, eax
jne 0x1c4032bb
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx + 0x120]
mov ebp, dword [esp + 0x2c]
cmp edx, eax
setne cl
mov dword [esp + 0x40], ecx
test ebp, ebp
jne 0x1c40342f
test ecx, ecx
jne 0x1c40342f
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1c4037dc
mov dword [ebx + 0x11c], 0
mov eax, dword [ebx + 0x16d58]
test eax, eax
je 0x1c40344c
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [ebx + 0x16d54]
test eax, eax
je 0x1c40345f
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [ebx + 0x118]
mov ecx, dword [esp + 0x28]
add eax, 0xf
sub edx, edx
imul eax, dword [ebx + 0x114]
sar eax, 4
push 0
lea eax, [eax + ecx - 1]
div ecx
shl eax, 4
push eax
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x16d58], eax
test eax, eax
jne 0x1c4034a6
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
xor ebp, ebp
mov eax, dword [ebx + 0x124]
cmp eax, ebp
je 0x1c403502
mov eax, dword [ebx + 0x120]
mov dword [esp + 0x24], ebp
cmp eax, ebp
je 0x1c4034f3
mov eax, dword [ebx + 0x124]
mov eax, dword [eax + ebp + 0x17448]
test eax, eax
je 0x1c4034da
push eax
call fcn.1c401030
add esp, 4
add ebp, 0x1744c
mov eax, dword [esp + 0x24]
inc eax
mov ecx, dword [ebx + 0x120]
mov dword [esp + 0x24], eax
cmp ecx, eax
ja 0x1c4034c0
mov eax, dword [ebx + 0x124]
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [esp + 0x1c]
push 0
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x120], eax
shl ecx, 5
sub ecx, eax
shl ecx, 6
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [eax + ecx*8]
lea ecx, [edx + edx*2]
add ecx, eax
push ecx
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x124], eax
test eax, eax
jne 0x1c40354a
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1c4037dc
mov dword [esp + 0x48], 0
lea eax, [esp + 0x118]
mov dword [esp + 0x5c], eax
mov ecx, dword [ebx + 0x124]
mov ebp, dword [esp + 0x48]
add ebp, ecx
mov eax, dword [esp + 0x20]
sub eax, dword [ebx + 0x11c]
mov dword [ebp + 8], eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x210], 0
mov dword [ebp + 0x7d74], 0
mov dword [ebp + 0xf8d8], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x17440], 0
mov edx, dword [ebx + 0x114]
mov eax, dword [esp + 0x5c]
mov cl, byte [eax]
sar edx, cl
mov cl, byte [eax + 4]
mov dword [ebp], edx
mov edx, dword [ebx + 0x118]
sar edx, cl
mov dword [ebp + 4], edx
sub edx, edx
mov eax, dword [ebx + 8]
div dword [ebp]
mov ecx, eax
sub edx, edx
mov eax, dword [ebx + 0x50]
div ecx
sub edx, edx
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0xc]
div dword [ebp + 4]
mov ecx, eax
sub edx, edx
mov eax, dword [ebx + 0x54]
div ecx
mov dword [ebp + 0x14], eax
add eax, eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 4]
add eax, eax
mov ecx, dword [esp + 0x48]
mov dword [ebp + 4], eax
add eax, 0x1f
and eax, 0xffffffe0
test ecx, ecx
mov dword [ebp + 0xc], eax
jne 0x1c403687
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x28]
shl eax, 3
add edx, 0x1f
mov ecx, dword [esp + 0x28]
push 0
imul edx, dword [ebp]
shr edx, 5
sub eax, ecx
add eax, edx
mov dword [esp + 0x8c], eax
shl eax, 4
push eax
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x16d54], eax
test eax, eax
je 0x1c403924
mov eax, dword [esp + 0x28]
push 0
shl eax, 3
mov ecx, dword [esp + 0x2c]
sub eax, ecx
shl eax, 2
push eax
call fcn.1c401000
add esp, 8
mov dword [ebp + 0x17448], eax
test eax, eax
je 0x1c403934
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1c403792
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov ecx, dword [ebx + 0x5c]
mov eax, dword [esp + 0x4c]
sub edx, edx
div ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa4], edx
sub edx, edx
div ecx
mov ecx, dword [ebp + 0x17448]
mov dword [esp + 0xa8], eax
add ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x48]
test eax, eax
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
je 0x1c40372a
mov eax, dword [ebx + 0x16d58]
jmp 0x1c40373f
mov eax, dword [esp + 0x7c]
sub edx, edx
div dword [esp + 0x28]
shl eax, 4
mov edx, dword [ebx + 0x16d54]
add eax, edx
mov dword [ecx + 0x14], eax
mov eax, dword [ebp + 0xc]
imul eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
imul eax, dword [esp + 0xa8]
imul edx, dword [esp + 0xa4]
add eax, edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x7c]
add eax, ecx
mov ecx, dword [esp + 0x78]
add ecx, 0x1c
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
inc eax
mov dword [esp + 0x4c], eax
cmp edx, eax
ja 0x1c4036d4
mov eax, dword [ebp]
mov ecx, dword [esp + 0x20]
add eax, 0xf
mov edx, dword [esp + 0x5c]
and eax, 0xfffffff0
add edx, 8
imul eax, dword [ebp + 0xc]
add eax, 0x400
mov ebp, dword [esp + 0x48]
add ecx, eax
add ebp, 0x1744c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], eax
cmp ecx, eax
ja 0x1c403571
xor ecx, ecx
mov eax, dword [ebx]
cmp eax, ecx
jne 0x1c403805
mov eax, dword [esp + 0x1c]
cmp eax, ecx
je 0x1c403805
xor edx, edx
mov ebp, dword [ebx + 0x124]
add ecx, 0x1744c
dec eax
nop
mov dword [ebp + ecx - 0x1741c], edx
jne 0x1c4037ee
xor eax, eax
mov edx, 1
lea ecx, [esp + 0x11c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 2
mov ebp, dword [0x1c4b0828]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, ebp
add ecx, 2
mov dword [esp + 0x34], eax
cmp ecx, 8
jb 0x1c403899
shr ecx, 3
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr eax, 8
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [ebp]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
or ebp, eax
mov eax, dword [esp + 0x170]
inc eax
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], eax
add ebp, 8
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c403858
mov eax, dword [esp + 0x34]
cmp eax, 3
jne 0x1c403944
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x58]
add ecx, 8
mov ebp, dword [esp + 0x1c]
inc ebp
mov dword [esp + 0x58], ecx
mov dword [ecx - 8], eax
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + edx*8 + 0xc8]
mov dword [ecx - 0xc], eax
mov eax, dword [esp + edx*8 + 0xcc]
mov ecx, dword [esp + 0xb0]
sub ecx, eax
mov eax, dword [esp + 0xac]
sub eax, ebp
mov dword [esp + 0xb0], ecx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0xac], eax
mov eax, dword [ebp*4 + 0x1c4b0010]
lea ecx, [ebp*4]
mov dword [esp + edx*8 + 0xcc], eax
mov ebp, dword [ecx + 0x1c4b0020]
mov dword [esp + edx*8 + 0xc8], ebp
jmp 0x1c403985
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0xb0]
shl ecx, 2
mov eax, dword [ecx + 0x1c4b0010]
add ebp, eax
mov dword [esp + edx*8 + 0xcc], eax
mov eax, dword [ecx + 0x1c4b0020]
mov dword [esp + 0xb0], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + edx*8 + 0xc8], eax
add ebp, eax
mov dword [esp + 0xac], ebp
mov eax, dword [ecx + section..rdata]
add edx, eax
jne 0x1c403829
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx + 0x154]
mov ebp, dword [esp + 0x40]
cmp edx, eax
setne cl
or ebp, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x40], ebp
test ecx, ecx
jne 0x1c4039c6
test ebp, ebp
jne 0x1c4039c6
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1c403d21
mov ecx, dword [esp + 0x20]
xor ebp, ebp
mov dword [esi + 0x20], ecx
cmp dword [esi + 0x28], ebp
je 0x1c403a18
mov eax, dword [esi + 0x24]
mov dword [esp + 0x24], ebp
cmp eax, ebp
je 0x1c403a0c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + ebp + 0x17448]
test eax, eax
je 0x1c4039f6
push eax
call fcn.1c401030
add esp, 4
add ebp, 0x1744c
mov eax, dword [esp + 0x24]
inc eax
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x24], eax
cmp ecx, eax
ja 0x1c4039df
mov eax, dword [esi + 0x28]
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [esp + 0x1c]
mov ecx, eax
mov dword [esi + 0x24], eax
shl ecx, 5
sub ecx, eax
shl ecx, 6
push 0
add ecx, eax
lea ecx, [eax + ecx*2]
lea edx, [eax + ecx*8]
lea ecx, [edx + edx*2]
add eax, ecx
mov dword [esp + 0x88], eax
push eax
call fcn.1c401000
add esp, 8
mov dword [esi + 0x28], eax
test eax, eax
jne 0x1c403a5f
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1c403c7b
lea eax, [esp + 0x118]
lea ecx, [esi + 0x18]
lea edx, [esi + 0x1c]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x54], eax
mov dword [esp + 0xa0], ecx
lea eax, [ebp*8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x70], 0
sub eax, ebp
shl eax, 2
mov dword [esp + 0x98], eax
mov ebp, dword [esi + 0x28]
mov eax, dword [esp + 0x20]
add ebp, dword [esp + 0x70]
sub eax, dword [esi + 0x20]
mov dword [ebp + 8], eax
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x210], 0
mov dword [ebp + 0x7d74], 0
mov dword [ebp + 0xf8d8], 0
mov ecx, dword [esp + 0xa0]
mov eax, dword [esp + 0x54]
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x17440], 0
mov edx, dword [ecx]
mov cl, byte [eax]
sar edx, cl
mov ecx, dword [esp + 0x9c]
mov dword [ebp], edx
mov edx, dword [ecx]
mov cl, byte [eax + 4]
sar edx, cl
mov dword [ebp + 4], edx
sub edx, edx
mov eax, dword [ebx + 8]
div dword [ebp]
mov ecx, eax
sub edx, edx
mov eax, dword [ebx + 0x50]
div ecx
sub edx, edx
mov dword [ebp + 0x10], eax
mov eax, dword [ebx + 0xc]
div dword [ebp + 4]
mov ecx, eax
sub edx, edx
mov eax, dword [ebx + 0x54]
div ecx
mov dword [ebp + 0x14], eax
add eax, eax
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 4]
add eax, eax
push 0
mov ecx, dword [esp + 0x9c]
mov dword [ebp + 4], eax
add eax, 0x1f
push ecx
and eax, 0xffffffe0
mov dword [ebp + 0xc], eax
call fcn.1c401000
add esp, 8
mov dword [ebp + 0x17448], eax
test eax, eax
je 0x1c403ccb
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1c403c31
mov dword [esp + 0x74], 0
mov ecx, dword [ebx + 0x5c]
mov eax, dword [esp + 0x44]
sub edx, edx
div ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], edx
sub edx, edx
div ecx
mov ecx, dword [esp + 0x74]
add ecx, dword [ebp + 0x17448]
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 8], 0
mov edx, dword [ebx + 0x16d58]
mov dword [ecx + 0x14], edx
mov edx, dword [ebp + 0xc]
imul edx, dword [ebp + 0x10]
imul edx, eax
mov eax, dword [ebp + 0x14]
imul eax, dword [esp + 0x94]
add edx, eax
mov eax, dword [esp + 0x74]
add eax, 0x1c
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x44], ecx
cmp ecx, edx
jb 0x1c403bb3
mov eax, dword [ebp]
mov ecx, dword [esp + 0x20]
add eax, 0xf
mov edx, dword [esp + 0x54]
and eax, 0xfffffff0
add edx, 8
imul eax, dword [ebp + 0xc]
add eax, 0x400
mov ebp, dword [esp + 0x70]
add ecx, eax
add ebp, 0x1744c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], ebp
mov dword [esp + 0x24], eax
cmp ecx, eax
ja 0x1c403ab1
mov eax, dword [ebx + 0x18c]
test eax, eax
je 0x1c403c8e
push eax
call fcn.1c401030
add esp, 4
mov ecx, 0xd
push 0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x88]
push eax
mov dword [ebx + 0x184], ecx
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x18c], eax
test eax, eax
jne 0x1c403cdb
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1c403d05
xor edx, edx
mov esi, dword [ebx + 0x158]
mov edi, dword [ebx + 0x18c]
add edi, edx
add esi, edx
mov ecx, 0x5d13
add edx, 0x1744c
rep movsd dword es:[edi], dword [esi]
dec eax
jne 0x1c403ce5
mov ecx, dword [ebx + 0x184]
mov eax, dword [esp + 0x20]
add eax, ecx
mov edx, dword [ebx + 0x150]
mov dword [esp + 0x20], eax
sub eax, edx
mov dword [esp + 0x20], eax
xor esi, esi
mov eax, dword [ebx]
cmp eax, esi
jne 0x1c403d58
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x1c403d58
mov edx, eax
xor ecx, ecx
mov eax, dword [ebx + 0x158]
add esi, 0x1744c
dec edx
mov dword [eax + esi - 0x1741c], ecx
mov ebp, dword [ebx + 0x18c]
mov dword [ebp + esi - 0x1741c], ecx
jne 0x1c403d35
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b0824]
shr esi, cl
and esi, edx
inc ecx
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c403dbd
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c403d84
test esi, esi
je 0x1c403e5f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x14
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b0870]
shr esi, cl
and esi, edx
add ecx, 0x14
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c403e2e
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c403df5
mov eax, dword [ebx]
test eax, eax
je 0x1c403e5f
mov eax, dword [esp + 0x178]
test eax, eax
jne 0x1c403e5f
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x1c403e52
mov eax, dword [ebx + 0x48]
cmp eax, esi
jne 0x1c403e5f
jmp 0x1c403e59
mov eax, dword [ebx + 0x44]
cmp eax, esi
jne 0x1c403e5f
mov dword [ebx], 5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [ebx + 0x44], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
shr esi, cl
and esi, edx
inc ecx
cmp ecx, 8
jb 0x1c403ec7
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c403e8e
test esi, esi
je 0x1c403f26
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 8
add ecx, 8
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c403f26
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x170]
shr edx, 8
inc esi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], edx
xor edx, edx
mov ebp, dword [esp + 0x10]
mov dl, byte [esi - 1]
add edi, eax
shl edx, 0x18
mov dword [esp + 0x170], esi
or ebp, edx
mov dword [esp + 0x18], edi
dec ecx
mov dword [esp + 0x10], ebp
jne 0x1c403eed
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b0824]
shr esi, cl
and esi, edx
inc ecx
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c403f8b
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c403f52
test esi, esi
je 0x1c40418a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 3
mov edi, dword [esp + 0x10]
mov edx, dword [0x1c4b082c]
shr edi, cl
and edi, edx
add ecx, 3
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c403ffc
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x170]
shr edx, 8
inc esi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [esi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], esi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c403fc3
cmp edi, 7
je 0x1c40401c
mov eax, edi
shl eax, 6
add eax, edi
add eax, edi
lea eax, [edi + eax*8]
shl eax, 4
add eax, ebx
add eax, 0x198
jmp 0x1c404190
mov eax, dword [ebx]
mov ecx, dword [eax*4 + 0x1c4b0800]
mov eax, ecx
shl ecx, 6
add ecx, eax
add ecx, eax
mov edx, dword [esp + 0x14]
lea ecx, [eax + ecx*8]
mov eax, dword [esp + 0x10]
shl ecx, 4
mov ebp, dword [0x1c4b0830]
add edx, 4
nop
lea esi, [ecx + ebx + 0x10a18]
mov ecx, dword [esp + 0x14]
and ecx, 7
mov dword [ebx + 0x16d48], esi
shr eax, cl
and eax, ebp
add ecx, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], eax
cmp ecx, 8
jb 0x1c4040af
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c404076
mov al, byte [esp + 0x30]
mov edi, 1
mov byte [esp + 0xb4], al
mov eax, dword [esp + 0x30]
cmp eax, edi
jb 0x1c404141
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 4
mov edx, dword [0x1c4b0830]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 4
cmp ecx, 8
jb 0x1c404133
shr ecx, 3
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr edx, 8
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
or ebp, edx
mov edx, dword [esp + 0x170]
inc edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], edx
add ebp, 8
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c4040f2
mov byte [esp + edi + 0xb4], al
inc edi
cmp dword [esp + 0x30], edi
jae 0x1c4040c7
xor edx, edx
xor edi, edi
movsx eax, byte [esp + 0xb4]
mov dword [esp + 0x16c], ebx
mov ecx, dword [esi]
mov bl, byte [ecx + edi]
lea ebp, [ecx + edi]
mov cl, byte [esp + edi + 0xb4]
cmp bl, cl
je 0x1c40416c
mov edx, 1
inc edi
mov byte [ebp], cl
cmp eax, edi
jae 0x1c404154
mov ebx, dword [esp + 0x16c]
test edx, edx
je 0x1c404196
push esi
call fcn.1c442200
add esp, 4
jmp 0x1c404196
lea eax, [ebx + 0xe908]
mov dword [ebx + 0x16d48], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov ebp, dword [esp + 0x10]
mov edx, dword [0x1c4b0824]
shr ebp, cl
and ebp, edx
inc ecx
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c4041fb
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x170]
shr edx, 8
inc esi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [esi - 1]
mov edi, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], esi
or edi, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], edi
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4041c2
lea edi, [ebx + 0x18f58]
test ebp, ebp
je 0x1c40437f
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 3
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b082c]
shr esi, cl
and esi, edx
add ecx, 3
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c404279
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr edx, 8
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
or ebp, edx
mov edx, dword [esp + 0x170]
inc edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], edx
add ebp, eax
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c404239
cmp esi, 7
jne 0x1c404384
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 4
mov edx, dword [0x1c4b0830]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 4
mov dword [esp + 0x30], eax
cmp ecx, 8
jb 0x1c4042ef
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x170]
shr edx, 8
inc esi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [esi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], esi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4042b6
mov al, byte [esp + 0x30]
mov esi, 1
mov byte [edi], al
mov eax, dword [esp + 0x30]
cmp eax, esi
jb 0x1c404378
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 4
mov edx, dword [0x1c4b0830]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 4
cmp ecx, 8
jb 0x1c40436e
shr ecx, 3
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x170]
shr edx, 8
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [ebp]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
or ebp, edx
mov edx, dword [esp + 0x170]
inc edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x170], edx
add ebp, 8
dec ecx
mov dword [esp + 0x18], ebp
jne 0x1c40432d
mov byte [esi + edi], al
inc esi
cmp dword [esp + 0x30], esi
jae 0x1c404302
mov esi, 8
jmp 0x1c404384
mov esi, 7
cmp esi, 8
je 0x1c4043b5
mov eax, esi
shl eax, 4
add eax, esi
mov cl, byte [eax + 0x1c4b0600]
movsx edx, cl
mov byte [edi], cl
cmp edx, 1
jb 0x1c4043b5
lea esi, [eax + 0x1c4b0601]
inc edi
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
inc ecx
cmp ecx, 8
jb 0x1c40441a
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4043e1
test eax, eax
je 0x1c404489
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 3
mov edx, dword [0x1c4b082c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 3
cmp ecx, 8
jb 0x1c40448e
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c40444e
jmp 0x1c40448e
mov eax, 8
mov ecx, dword [esp + 0x14]
xor edx, edx
and ecx, 7
mov dl, byte [0x1c4b3838]
mov ebp, dword [esp + 0x14]
mov dword [ebx + 0x16d50], eax
add ebp, edx
mov esi, dword [edx*4 + 0x1c4b0820]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ebp
shr eax, cl
and esi, eax
add ecx, edx
cmp ecx, 8
jb 0x1c404504
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4044cb
mov ecx, dword [esp + 0x14]
xor edx, edx
and ecx, 7
mov dl, byte [0x1c4b383c]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x9c], esi
add eax, edx
mov esi, dword [edx*4 + 0x1c4b0820]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and esi, eax
add ecx, edx
cmp ecx, 8
jb 0x1c40457a
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c404541
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 5
mov edx, dword [0x1c4b0834]
mov dword [ebx + 0x98], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 5
cmp ecx, 8
jb 0x1c4045e9
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c4045b0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
and ecx, 7
inc edx
mov esi, dword [esp + 0x10]
mov ebp, dword [0x1c4b0824]
mov dword [ebx + 0x4c], eax
mov dword [esp + 0x14], edx
shr esi, cl
and esi, ebp
inc ecx
cmp ecx, 8
jb 0x1c404651
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c404618
test esi, esi
je 0x1c4046be
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 3
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b082c]
shr esi, cl
and esi, edx
add ecx, 3
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c4046be
shr ecx, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c404685
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [ebx + 0x94], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], eax
shr esi, cl
and esi, edx
inc ecx
cmp ecx, 8
jb 0x1c404729
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c4046f0
test esi, esi
je 0x1c404796
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 0x10
mov esi, dword [esp + 0x10]
mov edx, dword [0x1c4b0860]
shr esi, cl
and esi, edx
add ecx, 0x10
mov dword [esp + 0x14], eax
cmp ecx, 8
jb 0x1c404796
shr ecx, 3
mov edx, 8
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr eax, 8
inc edi
mov dword [esp + 0x10], eax
xor eax, eax
mov al, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl eax, 0x18
mov dword [esp + 0x170], edi
or ebp, eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], eax
jne 0x1c40475d
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1c4047fa
mov eax, dword [esp + 0x1a0]
mov ecx, eax
mov edi, eax
shr eax, 0x10
and ecx, 0xff
and edi, 0xff00
mov edx, ecx
shl edx, 8
add edi, esi
inc edi
add edx, eax
inc edx
inc ecx
imul edi, edx
mov eax, edi
sub edx, edx
div ecx
mov eax, edi
and esi, 0xff00
lea ebp, [edx + 1]
inc esi
sub edx, edx
div ebp
mov edi, eax
sub edx, edx
div esi
inc edx
mov esi, dword [esp + 0x68]
imul edx, edi
cmp edx, esi
je 0x1c4047fa
mov dword [esp + 0x80], 0x14
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
inc ecx
cmp ecx, 8
jb 0x1c40485f
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c404826
mov dword [ebx + 0x3c], eax
test eax, eax
je 0x1c404943
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
add eax, 8
mov edx, dword [0x1c4b0840]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
add ecx, 8
cmp ecx, 8
jb 0x1c4048d3
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c40489a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
and ecx, 7
inc edx
mov ebp, dword [0x1c4b0824]
mov dword [ebx + 0x3c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
shr eax, cl
and eax, ebp
inc ecx
cmp ecx, 8
jb 0x1c40493b
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c404902
test eax, eax
jne 0x1c40486a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and ecx, 7
inc eax
mov edx, dword [0x1c4b0824]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
shr eax, cl
and eax, edx
inc ecx
cmp ecx, 8
jb 0x1c4049a8
shr ecx, 3
mov esi, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], ebp
dec ecx
mov dword [esp + 0x18], edx
jne 0x1c40496f
test eax, eax
je 0x1c404a36
mov eax, dword [ebx + 8]
mov esi, dword [0x1c4b37f0]
sub edx, edx
lea eax, [eax + esi - 1]
div esi
mov ecx, eax
sub edx, edx
mov eax, dword [ebx + 0xc]
lea eax, [eax + esi - 1]
div esi
imul ecx, eax
mov eax, ecx
dec ecx
test eax, eax
je 0x1c404a36
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x14]
and esi, 7
inc eax
inc esi
mov dword [esp + 0x14], eax
cmp esi, 8
jb 0x1c404a2f
shr esi, 3
mov eax, 8
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x170]
shr edx, 8
inc edi
mov dword [esp + 0x10], edx
xor edx, edx
mov dl, byte [edi - 1]
mov ebp, dword [esp + 0x10]
shl edx, 0x18
mov dword [esp + 0x170], edi
or ebp, edx
mov edx, dword [esp + 0x18]
add edx, eax
mov dword [esp + 0x10], ebp
dec esi
mov dword [esp + 0x18], edx
jne 0x1c4049f6
mov eax, ecx
dec ecx
test eax, eax
jne 0x1c4049d8
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1c404aa8
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov eax, dword [ebx + 0x16d60]
test eax, eax
je 0x1c404a6d
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [esp + 0x90]
push 0
add eax, 0x1f
push eax
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x16d60], eax
test eax, eax
jne 0x1c404a9c
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
add eax, 0x1f
and eax, 0xffffffe0
mov dword [ebx + 0x16d5c], eax
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x1c404ac4
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1c404ac4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1c404b81
mov eax, dword [ebx + 0x16d5c]
mov ecx, dword [ebx + 0x114]
imul ecx, dword [ebx + 0x12c]
mov dword [ebx + 0x128], eax
add eax, ecx
mov ecx, dword [ebx + 0x148]
mov dword [ebx + 0x15c], eax
imul ecx, dword [ebx + 0x160]
add ecx, eax
mov eax, dword [ebx + 0x64]
mov dword [ebx + 0x190], ecx
test eax, eax
je 0x1c404b0a
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [esp + 0x20]
push 0
add eax, 0x620
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx*2]
add eax, 0x1f
push eax
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x64], eax
test eax, eax
jne 0x1c404b43
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
add eax, 0x1f
mov ecx, dword [esp + 0x20]
and eax, 0xffffffe0
mov dword [ebx + 0x90], ecx
mov dword [esp + 0x3c], 1
mov dword [ebx + 0x88], 0
mov dword [ebx + 0x8c], 0
mov dword [ebx + 0x78], eax
add eax, dword [esp + 0x20]
mov dword [ebx + 0x7c], eax
add eax, ecx
mov dword [ebx + 0x80], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1c404bda
mov ecx, dword [ebx + 0x90]
mov eax, dword [ebx]
test eax, eax
jne 0x1c404b9a
mov edi, dword [ebx + 0x7c]
jmp 0x1c404b9d
mov edi, dword [ebx + 0x78]
test ecx, ecx
je 0x1c404bae
add ecx, 3
mov eax, 0x40004000
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [ebx]
cmp eax, 1
je 0x1c404bd0
cmp eax, 2
je 0x1c404bd0
cmp eax, 4
je 0x1c404bd0
cmp eax, 3
jne 0x1c404bda
mov dword [ebx + 0x8c], 1
jmp 0x1c404bda
mov dword [ebx + 0x88], 1
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1c404c18
mov eax, dword [ebx + 0x60]
test eax, eax
je 0x1c404bf2
push eax
call fcn.1c401030
add esp, 4
mov ecx, dword [esp + 0x28]
push 0
push ecx
call fcn.1c401000
add esp, 8
mov dword [ebx + 0x60], eax
test eax, eax
jne 0x1c404c18
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov ecx, dword [ebx + 0x18]
lea edx, [ebx + 0x18]
cmp ecx, dword [esp + 0x17c]
jne 0x1c404c55
mov ecx, dword [esp + 0x180]
mov eax, dword [ebx + 0x1c]
mov esi, dword [esp + 0x184]
cmp eax, ecx
jne 0x1c404c63
mov eax, dword [ebx + 0x20]
cmp eax, esi
jne 0x1c404c63
mov eax, dword [esp + 0x188]
mov ebp, dword [ebx + 0x24]
cmp ebp, eax
jne 0x1c404c63
xor eax, eax
jmp 0x1c404c68
mov esi, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, 1
test eax, eax
jne 0x1c404c78
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1c404d50
mov eax, dword [esp + 0x17c]
mov ebp, dword [esp + 0x180]
lea edi, [esp + 0x17c]
mov dword [edx], eax
mov dword [edx + 4], ebp
nop
mov eax, dword [edi + 8]
mov edi, dword [edi + 0xc]
mov dword [edx + 8], eax
mov eax, dword [ebx + 0x58]
mov dword [edx + 0xc], edi
xor edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x64], edx
cmp eax, edx
je 0x1c404d50
mov eax, dword [esp + 0x17c]
add eax, esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x8c]
cmp eax, ebp
jge 0x1c404cec
mov eax, dword [ebx + 0x50]
mov ebp, dword [esp + 0x50]
add eax, ebp
mov esi, dword [esp + 0x17c]
cmp eax, esi
mov esi, 1
jg 0x1c404cee
xor esi, esi
xor eax, eax
xor edi, edi
cmp dword [ebx + 0x5c], eax
je 0x1c404d2f
test esi, esi
je 0x1c404d1b
mov ebp, dword [esp + 0x188]
add ebp, ecx
cmp ebp, eax
jle 0x1c404d1b
mov ebp, dword [ebx + 0x54]
add ebp, eax
cmp ebp, ecx
jle 0x1c404d1b
mov ebp, dword [ebx + 0x60]
mov byte [ebp + edx], 1
jmp 0x1c404d23
mov ebp, dword [ebx + 0x60]
mov byte [ebp + edx], 0
inc edx
mov ebp, dword [ebx + 0x54]
add eax, ebp
inc edi
cmp dword [ebx + 0x5c], edi
ja 0x1c404cf7
mov eax, dword [ebx + 0x50]
mov ebp, dword [esp + 0x50]
add ebp, eax
mov esi, dword [esp + 0x64]
inc esi
mov edi, dword [ebx + 0x58]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x64], esi
cmp edi, esi
ja 0x1c404cc4
mov eax, dword [ebx + 0xa0]
test al, 1
jne 0x1c404d8c
mov eax, dword [esp + 0x194]
mov ecx, dword [ebx + 8]
sub eax, ecx
mov edx, dword [ebx + 0xc]
mov ecx, dword [esp + 0x198]
mov ebp, dword [esp + 0x190]
sub ecx, edx
mov esi, dword [esp + 0x18c]
or eax, ecx
or eax, ebp
or eax, esi
je 0x1c404e81
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x1c404da2
mov eax, dword [ebx + 0xf4]
test eax, eax
jne 0x1c404e81
mov esi, dword [ebx + 0xc]
mov eax, dword [ebx + 0xb0]
add esi, 0x1f
and esi, 0xffffffe0
imul esi, dword [ebx + 8]
shr esi, 3
test eax, eax
je 0x1c404dcf
mov dword [ebx + 0xb0], 0
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [ebx + 0xb4]
test eax, eax
je 0x1c404dec
mov dword [ebx + 0xb4], 0
push eax
call fcn.1c401030
add esp, 4
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x1c404e09
mov dword [ebx + 0xa8], 0
push eax
call fcn.1c401030
add esp, 4
lea edi, [esi + 0x1f]
push 0
push edi
call fcn.1c401000
add esp, 8
mov dword [ebx + 0xb0], eax
test eax, eax
jne 0x1c404e31
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
push 0
push edi
call fcn.1c401000
add esp, 8
mov dword [ebx + 0xb4], eax
test eax, eax
jne 0x1c404e56
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
push 0
push esi
call fcn.1c401000
add esp, 8
mov dword [ebx + 0xa8], eax
test eax, eax
jne 0x1c404e7b
mov eax, 6
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov dword [ebx + 0xf4], esi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x174]
add ecx, 7
shr ecx, 3
mov dword [eax], ecx
mov eax, dword [esp + 0x80]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x158
ret
mov eax, 1
pop ebp
mov dword [ebx + 0x94], 0
pop edi
pop esi
pop ebx
add esp, 0x158
ret