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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x64]
cmp eax, dword [ecx + 8]
jbe 0x4939c5
sub esp, 0xe4
mov edi, esp
lea esi, [esp + 0xe8]
call fcn.0045632e
call fcn.004986c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x54], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0xc0], ebp
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
mov esi, 0xffffffff
mov dword [esp + 0x30], esi
mov edi, 0xffffffff
mov dword [esp + 0x64], edi
xor edi, edi
mov dword [esp + 0x58], edi
xor esi, esi
mov dword [esp + 0x68], esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x5c], esi
xor esi, esi
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
jmp 0x49253a
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0xb4]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x30], esi
mov dword [esp + 0x104], ebx
mov dword [esp + 0x100], ecx
mov dword [esp + 0xfc], ebp
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xb4]
test edi, edi
je 0x493996
mov dword [esp], esi
mov dword [esp + 4], edi
call fcn.00490b20
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xb4], edx
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
test ebx, ebx
jne 0x4938da
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
test eax, eax
je 0x4938be
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xcc], ebp
mov dword [esp + 0xac], esi
mov edi, ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
jge 0x4925c0
test eax, 0x100
jne 0x49385f
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x64]
test ecx, ecx
jge 0x4925d7
test eax, 0x200
jne 0x4937cb
mov dword [esp + 0x64], ecx
and eax, 0xffff
cmp eax, 0x109
jg 0x4931ce
cmp eax, 0x103
jg 0x492e27
cmp eax, 0x23
jg 0x492c46
cmp eax, 0x17
je 0x492a23
lea ecx, [eax - 0x18]
cmp ecx, 9
ja 0x49299f
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jne 0x492994
mov eax, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, 0x18
jne 0x492681
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x49263c
mov byte [ebp + esi], 0x5a
jmp 0x4924fc
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x492632
cmp ecx, 0x1b
je 0x49262b
cmp ecx, 0x19
je 0x49262b
cmp ecx, 0x1a
je 0x49262b
cmp ecx, 0x1c
je 0x49262b
mov eax, 0x88888889
mov edx, dword [esp + 0x6c]
imul edx
mov eax, edi
mov edi, dword [esp + 0x6c]
add edx, edi
sar edi, 0x1f
sar edx, 5
mov dword [esp + 0xa8], edx
sub edx, edi
test edx, edx
jge 0x492929
lea edx, [esi + 1]
cmp edx, ebx
ja 0x4928da
mov byte [ebp + esi], 0x2d
mov esi, dword [esp + 0xa8]
sub edi, esi
mov esi, dword [esp + 0x6c]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x28], edi
mov dword [esp + 0xa8], esi
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov eax, 0x88888889
imul edi
lea ecx, [edi + edx]
sar edi, 0x1f
sar ecx, 5
sub ecx, edi
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
cmp ebp, 0x1b
jne 0x4928b8
lea esi, [edx + 1]
cmp esi, ecx
ja 0x492874
mov byte [ebx + edx], 0x3a
cmp ebp, 0x1f
je 0x492758
cmp ebp, 0x1a
jne 0x492833
cmp ebp, 0x19
je 0x492786
cmp ebp, 0x1e
je 0x492786
cmp ebp, 0x21
je 0x492786
cmp ebp, 0x1c
je 0x492786
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
mov ebp, ebx
mov ebx, ecx
mov ecx, esi
jmp 0x4924fc
cmp ebp, 0x21
jne 0x492823
lea edx, [esi + 1]
cmp edx, ecx
ja 0x4927e3
mov byte [ebx + esi], 0x3a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, 0x88888889
mov ecx, dword [esp + 0xa8]
imul ecx
add edx, ecx
mov ebx, ecx
sar ecx, 0x1f
sar edx, 5
sub edx, ecx
imul ecx, edx, 0x3c
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
jmp 0x49276c
mov dword [esp + 0xa0], esi
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00440420
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov esi, dword [esp + 0xa0]
jmp 0x492796
cmp ebp, 0x1c
je 0x49278f
mov edx, esi
jmp 0x49279a
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xa4]
imul eax, eax, 0x3c
mov ecx, dword [esp + 0x28]
sub ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
jmp 0x492758
mov dword [esp + 0x9c], edx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00440420
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov edx, dword [esp + 0x9c]
mov ebp, dword [esp + 0x40]
jmp 0x492746
cmp ebp, 0x20
je 0x49273b
cmp ebp, 0x1c
je 0x49273b
cmp ebp, 0x21
je 0x49273b
mov esi, edx
jmp 0x49274a
mov dword [esp + 0xa4], edi
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0xa4]
jmp 0x4926ca
lea edi, [esi + 1]
cmp edi, ebx
ja 0x492948
mov byte [ebp + esi], 0x2b
mov esi, dword [esp + 0x6c]
mov esi, edx
mov edx, edi
mov edi, esi
mov esi, dword [esp + 0x6c]
jmp 0x4926e2
mov dword [esp + 0x98], edx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0xac]
jmp 0x492930
mov eax, ecx
mov ecx, dword [esp + 0x40]
jmp 0x492695
lea ecx, [eax - 0x22]
cmp ecx, 1
jbe 0x4929b2
mov eax, dword [esp + 0x6c]
mov ecx, esi
jmp 0x4924fc
lea edi, [esp + 0xd0]
lea esi, [esp + 0xe8]
call fcn.0045632e
nop
mov ecx, dword [esp + 0xd0]
mov dword [esp], ebp
mov edx, dword [esp + 0xac]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
and ecx, 0x3fffffff
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x40]
sar ecx, 0x10
mov dword [esp + 0x10], ecx
cmp eax, 0x23
sete al
mov byte [esp + 0x14], al
call fcn.00491e00
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x492ac5
lea eax, [ecx + esi]
mov dword [esp + 0x100], eax
cmp eax, ebx
ja 0x492a8f
mov dword [esp + 0x104], ebx
mov dword [esp + 0xfc], ebp
lea eax, [ebp + esi]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00456550
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
jmp 0x4924fc
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0xac]
jmp 0x492a3d
mov eax, 0x88888889
mov ecx, dword [esp + 0x6c]
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 5
mov dword [esp + 0xa8], edx
sub edx, ecx
test edx, edx
jge 0x492be3
lea edx, [esi + 1]
cmp edx, ebx
ja 0x492b94
mov byte [ebp + esi], 0x2d
mov esi, dword [esp + 0xa8]
sub ecx, esi
mov dword [esp + 0x2c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 5
sar ecx, 0x1f
sub edx, ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa8]
imul ecx, ecx, 0x3c
mov edx, dword [esp + 0x2c]
sub edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp + 0xa4], ecx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x492af6
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x492bfa
mov byte [ebp + esi], 0x2b
mov esi, edx
mov edx, ecx
mov ecx, esi
jmp 0x492b04
mov dword [esp + 0x94], edx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x94]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x492bea
cmp eax, 0x101
je 0x492d58
cmp eax, 0x102
je 0x492ca3
cmp eax, 0x103
jne 0x4929a7
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004982f0
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
cmp edx, 3
jb 0x4939ba
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 3]
mov ebx, dword [esp + 0xb0]
cmp edx, ebx
ja 0x492d06
mov ebp, dword [esp + 0xcc]
movzx esi, word [eax]
mov edi, esi
movzx esi, byte [eax + 2]
mov word [ebp + ecx], di
xchg esi, eax
mov byte [ebp + ecx + 2], al
xchg esi, eax
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xb4]
jmp 0x4924fc
mov dword [esp + 0x90], edx
mov dword [esp + 0xc8], eax
lea eax, [0x53b4c0]
mov dword [esp], eax
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440420
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x90]
jmp 0x492cdc
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.004982f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xac]
lea ebx, [edx + eax]
mov dword [esp + 0x100], ebx
mov ebp, dword [esp + 0xb0]
cmp ebx, ebp
ja 0x492dd8
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x104], ebp
mov dword [esp + 0xfc], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00456550
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
jmp 0x4924fc
mov dword [esp + 0x60], eax
mov dword [esp + 0xc4], ecx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00440420
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xac]
jmp 0x492d8f
cmp eax, 0x106
jg 0x493094
cmp eax, 0x104
je 0x493054
cmp eax, 0x105
jne 0x492f58
mov eax, dword [esp + 0x70]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x74]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00450ab0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
mov eax, ecx
sar ecx, 0x1f
add eax, edx
sar eax, 0x10
sub eax, ecx
mov dword [esp], eax
call fcn.004983f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xac]
lea ebx, [edx + eax]
mov dword [esp + 0x100], ebx
mov ebp, dword [esp + 0xb0]
cmp ebx, ebp
ja 0x492f09
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x104], ebp
mov dword [esp + 0xfc], esi
add edx, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00456550
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x104]
mov ecx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
jmp 0x4924fc
mov dword [esp + 0x4c], eax
mov dword [esp + 0xb8], ecx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xcc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00440420
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xac]
jmp 0x492ec0
mov eax, dword [esp + 0x70]
add eax, 0x15180
mov dword [esp], eax
mov eax, dword [esp + 0x74]
adc eax, 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0x93a80
mov dword [esp + 0xc], 0
call fcn.00450ab0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov ecx, 0xc22e4507
imul ecx
mov eax, dword [esp + 0x44]
mov ebx, eax
sar eax, 0x1f
add edx, ebx
sar edx, 0x10
sub edx, eax
mov dword [esp], edx
call fcn.004983f0
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
cmp edx, 3
jb 0x4939b0
mov ecx, dword [esp + 0xac]
lea edx, [ecx + 3]
mov ebx, dword [esp + 0xb0]
cmp edx, ebx
ja 0x493002
mov ebp, dword [esp + 0xcc]
movzx esi, byte [eax + 2]
mov edi, esi
movzx esi, word [eax]
mov word [ebp + ecx], si
xchg edi, eax
mov byte [ebp + ecx + 2], al
xchg edi, eax
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x3c]
mov ecx, edx
mov edx, dword [esp + 0xb4]
jmp 0x4924fc
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc8], eax
lea eax, [0x53b4c0]
mov dword [esp], eax
mov ebp, dword [esp + 0xcc]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00440420
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x8c]
jmp 0x492fd8
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
cmp eax, 0x107
je 0x49318e
cmp eax, 0x108
jne 0x49314e
mov eax, dword [esp + 0x68]
cmp eax, 0xa
jge 0x493147
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x4930ff
mov byte [ebp + esi], 0x20
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x4930be
mov ecx, esi
jmp 0x4930c3
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
cmp eax, 0x20d
jg 0x49349e
cmp eax, 0x113
jg 0x493389
cmp eax, 0x10a
je 0x493281
cmp eax, 0x10b
je 0x493241
cmp eax, 0x113
jne 0x4929a7
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov eax, dword [esp + 0x34]
cmp eax, 0x64
jge 0x4932af
lea ecx, [esi + 1]
cmp ecx, ebx
ja 0x493341
mov byte [ebp + esi], 0x20
cmp eax, 0xa
jge 0x49333a
lea esi, [ecx + 1]
cmp esi, ebx
ja 0x4932eb
mov byte [ebp + ecx], 0x20
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp + 0x88], ecx
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4932aa
mov esi, ecx
jmp 0x4932af
lea eax, [0x53b4c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x493295
cmp eax, 0x114
je 0x493442
cmp eax, 0x20c
je 0x493406
cmp eax, 0x20d
jne 0x4929a7
mov eax, 0xaaaaaaab
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 3
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
sub eax, ecx
test eax, eax
jne 0x4933ca
mov eax, 0xc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov ecx, dword [esp + 0x38]
test ecx, ecx
jge 0x49344c
neg ecx
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, 0x51eb851f
imul ecx
mov ebx, ecx
sar ecx, 0x1f
sar edx, 5
sub edx, ecx
imul ecx, edx, 0x64
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
cmp eax, 0x210
jle 0x4936dd
cmp eax, 0x212
jle 0x493656
cmp eax, 0x215
jne 0x49358b
cmp ecx, 0xc
jl 0x49352c
lea eax, [esi + 2]
cmp eax, ebx
ja 0x4934e0
mov ecx, 0x4d50
mov word [ebp + esi], cx
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x4924fc
mov dword [esp + 0x84], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x4934cb
lea eax, [esi + 2]
cmp eax, ebx
ja 0x49353f
mov ecx, 0x4d41
mov word [ebp + esi], cx
jmp 0x4934d5
mov dword [esp + 0x80], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00440420
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x493533
cmp eax, 0x216
jne 0x4929a7
cmp ecx, 0xc
jl 0x4935fd
lea eax, [esi + 2]
cmp eax, ebx
ja 0x4935b7
mov ecx, 0x6d70
mov word [ebp + esi], cx
mov ecx, eax
mov eax, dword [esp + 0x6c]
jmp 0x4924fc
mov dword [esp + 0x7c], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00440420
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x4935a2
lea eax, [esi + 2]
cmp eax, ebx
ja 0x493610
mov ecx, 0x6d61
mov word [ebp + esi], cx
jmp 0x4935ac
mov dword [esp + 0x78], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00440420
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
jmp 0x493604
cmp eax, 0x211
jne 0x49369d
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
cmp eax, 0x20e
jne 0x493744
mov eax, 0xaaaaaaab
imul ecx
add edx, ecx
mov eax, ecx
sar ecx, 0x1f
sar edx, 3
sub edx, ecx
lea ecx, [edx + edx*2]
shl ecx, 2
sub eax, ecx
test eax, eax
jne 0x493708
mov eax, 0xc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
cmp eax, 0x20f
jne 0x49378b
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.00491b00
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
call fcn.00491b00
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xb4]
mov edi, dword [esp + 0x3c]
jmp 0x4924fc
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x15180
mov dword [esp + 0xc], 0
call fcn.00450ab0
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0x91a2b3c5
imul ecx
lea eax, [ecx + edx]
sar eax, 0xb
mov edx, ecx
sar ecx, 0x1f
sub eax, ecx
imul ecx, eax, 0xe10
sub edx, ecx
mov ecx, eax
mov eax, 0x88888889
mov ebx, edx
imul edx
lea eax, [ebx + edx]
mov edx, ebx
sar ebx, 0x1f
sar eax, 5
sub eax, ebx
imul ebx, eax, 0x3c
sub edx, ebx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xb4]
jmp 0x4925d7
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov byte [esp + 8], 1
call fcn.00499190
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
inc ebx
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
jmp 0x4925c0
mov dword [esp + 0x110], ebp
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], ebx
add esp, 0xe4
ret
mov esi, dword [esp + 0x100]
lea edi, [ebx + esi]
mov dword [esp + 0xa8], edi
mov ecx, dword [esp + 0x104]
cmp edi, ecx
ja 0x493940
mov dword [esp + 0x104], ecx
mov eax, dword [esp + 0xfc]
lea edx, [eax + esi]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00456550
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x104]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0xa8]
jmp 0x49258e
mov dword [esp + 0x50], ebx
mov dword [esp + 0xbc], ebp
lea eax, [0x53b4c0]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
call fcn.00440420
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x100]
mov dword [esp + 0xfc], eax
jmp 0x4938f6
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
mov ebx, dword [esp + 0x104]
jmp 0x4938be
mov ecx, 3
call fcn.00455c90
mov ecx, 3
call fcn.00455c90
nop
call fcn.004543b0
jmp fcn.00492450