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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4d4
mov eax, dword [0x474850]
xor eax, esp
mov dword [esp + 0x4d0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [esp + 0x18], eax
call dword [0x45916c]
lea ecx, [esp + 0x10]
push ecx
push eax
call dword [0x4592e4]
mov ebx, eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], 8
mov dword [esp + 0x28], 0x4000
call dword [0x45907c]
cmp dword [esp + 0x10], 2
jne 0x41f7d8
mov ecx, dword [ebx + 4]
mov edx, 0x462cf4
mov eax, ecx
lea esp, [esp]
mov si, word [eax]
cmp si, word [edx]
jne 0x41f736
test si, si
je 0x41f732
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41f736
add eax, 4
add edx, 4
test si, si
jne 0x41f710
xor eax, eax
jmp 0x41f73b
sbb eax, eax
or eax, 1
test eax, eax
sete byte [0x4773f2]
mov edx, 0x462d10
mov eax, ecx
jmp 0x41f750
mov si, word [eax]
cmp si, word [edx]
jne 0x41f776
test si, si
je 0x41f772
mov si, word [eax + 2]
cmp si, word [edx + 2]
jne 0x41f776
add eax, 4
add edx, 4
test si, si
jne 0x41f750
xor eax, eax
jmp 0x41f77b
sbb eax, eax
or eax, 1
test eax, eax
sete byte [0x4773f0]
mov eax, 0x462d40
lea esp, [esp]
mov dx, word [ecx]
cmp dx, word [eax]
jne 0x41f7b6
test dx, dx
je 0x41f7b2
mov dx, word [ecx + 2]
cmp dx, word [eax + 2]
jne 0x41f7b6
add ecx, 4
add eax, 4
test dx, dx
jne 0x41f790
xor eax, eax
jmp 0x41f7bb
sbb eax, eax
or eax, 1
test eax, eax
sete al
mov byte [0x4773f1], al
test al, al
jne 0x41f7d1
cmp byte [0x4773f0], al
je 0x41f7d8
mov byte [0x4773f2], 1
call dword [0x459270]
mov ecx, eax
call fcn.00417610
cmp eax, 2
je 0x41fae2
push 0x114
lea eax, [esp + 0x1bc]
push 0
push eax
call fcn.0043df70
add esp, 0xc
lea eax, [esp + 0x1b8]
push eax
mov dword [esp + 0x1bc], 0x114
call dword [0x459168]
test eax, eax
je 0x41fa9c
cmp dword [esp + 0x1bc], 6
setae al
test al, al
je 0x41fa9c
cmp byte [0x4773f2], 0
je 0x41f893
cmp byte [0x4773f0], 0
jne 0x41f893
call fcn.00433310
cmp eax, 1
je 0x41f893
sub esp, 0x18
mov ecx, esp
push 0x462d70
mov dword [esp + 0x34], 1
call fcn.00402b00
sub esp, 0x18
mov ecx, esp
push 0x475ad8
call fcn.004035b0
push 0
mov edx, 0x642
lea ecx, [esp + 0x4c]
call fcn.00419f40
add esp, 0x34
jmp 0x420cb1
push 0x46038c
lea ecx, [esp + 0x68]
call fcn.00402b00
mov esi, 1
cmp dword [esp + 0x10], esi
jle 0x41f8f3
lea esp, [esp]
mov edx, dword [ebx + esi*4]
cmp word [edx], 0
jne 0x41f8bd
xor ecx, ecx
jmp 0x41f8d1
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41f8c2
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x6c]
call fcn.00401bc0
push 1
push 0x460d7c
lea ecx, [esp + 0x6c]
call fcn.00401bc0
inc esi
cmp esi, dword [esp + 0x10]
jl 0x41f8b0
push 0x104
lea eax, [esp + 0x2d4]
push eax
push 0
call dword [0x459234]
cmp dword [esp + 0x78], 8
lea eax, [esp + 0x2d0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x28], 0x3c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0x462d78
jae 0x41f942
lea eax, [esp + 0x64]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x94], eax
push 0x1c
lea eax, [esp + 0x98]
push eax
push 1
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 0
mov dword [esp + 0xb0], 1
call dword [0x459360]
mov edi, dword [0x4592dc]
lea eax, [esp + 0x28]
push eax
call edi
test eax, eax
jne 0x41fa80
mov esi, dword [0x459250]
call esi
cmp eax, 0x4c7
jne 0x41fa80
mov ebx, dword [0x459190]
lea esp, [esp]
call fcn.0042d820
cmp byte [0x4773d5], 0
jne 0x41fa02
push 0
push 0x433410
push 0xa
push 0
call ebx
mov byte [0x4773d5], 1
push 0
push 0x434b40
push 0
push 0x7d1
push dword [esp + 0x28]
call dword [0x45935c]
cmp eax, 4
jne 0x41fa31
lea eax, [esp + 0x28]
push eax
call edi
call esi
cmp eax, 0x4c7
je 0x41f9e0
jmp 0x41fa80
sub esp, 0x18
mov ecx, esp
push 0x462d84
mov dword [esp + 0x34], 1
call fcn.00402b00
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x475ad8
mov word [ecx], ax
call fcn.00402680
push 0
mov edx, 0x642
lea ecx, [esp + 0x4c]
call fcn.00419f40
add esp, 0x34
cmp dword [esp + 0x78], 8
jb 0x420cb1
push dword [esp + 0x64]
call fcn.00436f9f
add esp, 4
jmp 0x420cb1
call fcn.00433360
sub esp, 0x18
mov ecx, esp
push 0x462d68
mov dword [esp + 0x34], 1
call fcn.00402b00
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x475ad8
mov word [ecx], ax
call fcn.00402680
jmp 0x41f87b
push 0x462d8c
push 1
push 0
call dword [0x459170]
test eax, eax
jne 0x41fb11
mov eax, 0xffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4d0]
xor ecx, esp
call fcn.00436fa4
mov esp, ebp
pop ebp
ret 0x10
call dword [0x459250]
cmp eax, 0xb7
jne 0x41fb35
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4d0]
xor ecx, esp
call fcn.00436fa4
mov esp, ebp
pop ebp
ret 0x10
xor eax, eax
lea ecx, [esp + 0x170]
mov dword [esp + 0xdc], 7
mov dword [esp + 0xd8], 0
mov word [esp + 0xc8], ax
mov dword [esp + 0x154], 7
mov dword [esp + 0x150], eax
mov word [esp + 0x140], ax
mov dword [esp + 0x124], 7
mov dword [esp + 0x120], eax
mov word [esp + 0x110], ax
mov dword [esp + 0xf4], 7
mov dword [esp + 0xf0], eax
mov word [esp + 0xe0], ax
mov dword [esp + 0x16c], 7
mov dword [esp + 0x168], eax
mov word [esp + 0x158], ax
call fcn.0041f5a0
push 0x46143c
lea ecx, [esp + 0x68]
call fcn.00402b00
push eax
push 0x460d7c
lea ecx, [esp + 0x84]
call fcn.00402b00
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0041f640
add esp, 4
cmp dword [esp + 0x90], 8
jb 0x41fc10
push dword [esp + 0x7c]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0x78], 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
jb 0x41fc40
push dword [esp + 0x64]
call fcn.00436f9f
add esp, 4
push 0x460d74
lea ecx, [esp + 0x68]
call fcn.00402b00
push eax
push 0x460d80
lea ecx, [esp + 0x84]
call fcn.00402b00
mov edx, eax
lea ecx, [esp + 0x174]
call fcn.0041f640
add esp, 4
cmp dword [esp + 0x90], 8
jb 0x41fc87
push dword [esp + 0x7c]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0x78], 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
jb 0x41fcb7
push dword [esp + 0x64]
call fcn.00436f9f
add esp, 4
push 0x462db4
lea eax, [esp + 0x174]
push eax
push 0x462dc0
lea ecx, [esp + 0xa0]
call fcn.0041f510
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.0040a450
add esp, 4
mov edx, eax
lea ecx, [esp + 0x84]
call fcn.004023b0
add esp, 4
mov edx, eax
lea ecx, [esp + 0x1a4]
call fcn.0040a450
add esp, 4
cmp dword [esp + 0x90], 8
jb 0x41fd1b
push dword [esp + 0x7c]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0x78], 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
jb 0x41fd4b
push dword [esp + 0x64]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0xa8], 8
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
jb 0x41fd7b
push dword [esp + 0x94]
call fcn.00436f9f
add esp, 4
push 0x462db4
lea eax, [esp + 0x174]
push eax
push 0x462de0
lea ecx, [esp + 0xa0]
call fcn.0041f510
mov edx, eax
lea ecx, [esp + 0x70]
call fcn.0040a450
add esp, 4
mov edx, eax
lea ecx, [esp + 0x84]
call fcn.004023b0
add esp, 4
mov edx, eax
lea ecx, [esp + 0x18c]
call fcn.0040a450
add esp, 4
cmp dword [esp + 0x90], 8
jb 0x41fddf
push dword [esp + 0x7c]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0x78], 8
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], 0
mov word [esp + 0x7c], ax
jb 0x41fe0f
push dword [esp + 0x64]
call fcn.00436f9f
add esp, 4
xor eax, eax
cmp dword [esp + 0xa8], 8
mov dword [esp + 0x78], 7
mov dword [esp + 0x74], 0
mov word [esp + 0x64], ax
jb 0x41fe3f
push dword [esp + 0x94]
call fcn.00436f9f
add esp, 4
xor eax, eax
mov dword [esp + 0xc4], 7
mov dword [esp + 0xc0], 0
mov word [esp + 0xb0], ax
mov dword [esp + 0x10c], 7
mov dword [esp + 0x108], eax
mov word [esp + 0xf8], ax
mov dword [esp + 0x13c], 7
mov dword [esp + 0x138], eax
mov word [esp + 0x128], ax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
call fcn.0041e910
mov esi, dword [esp + 0x10]
cmp esi, 2
jne 0x41feee
mov eax, dword [ebx + 4]
mov ecx, 0x462e00
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41fedb
test dx, dx
je 0x41fed7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41fedb
add eax, 4
add ecx, 4
test dx, dx
jne 0x41feb5
xor eax, eax
jmp 0x41fee0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41feee
call fcn.0041ba60
jmp 0x420c24
test ebx, ebx
je 0x42087c
xor eax, eax
mov dword [esp + 0x14], eax
test esi, esi
jle 0x420850
mov edi, 1
mov dword [esp + 0x1c], edi
lea ecx, [ecx]
mov edx, dword [ebx + eax*4]
mov ecx, edx
lea esi, [ecx + 2]
jmp 0x41ff20
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ff20
sub ecx, esi
sar ecx, 1
lea eax, [ecx + 1]
push eax
push edx
call fcn.00439a9b
mov esi, dword [esp + 0x1c]
add esp, 8
mov esi, dword [ebx + esi*4]
mov ecx, 0x462e2c
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41ff76
test dx, dx
je 0x41ff72
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41ff76
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ff50
xor eax, eax
jmp 0x41ff7b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41ffca
push 1
push 0x461344
lea ecx, [esp + 0xd0]
call fcn.00402a00
cmp dword [esp + 0x10], edi
jle 0x41ffb8
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x41ffb8
push eax
lea ecx, [esp + 0xe4]
call fcn.00401b70
jmp 0x420838
cmp byte [0x4773f3], 0
jne 0x420838
jmp 0x420cca
mov ecx, 0x462e98
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41fff7
test dx, dx
je 0x41fff3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41fff7
add eax, 4
add ecx, 4
test dx, dx
jne 0x41ffd1
xor eax, eax
jmp 0x41fffc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420049
push 0x461344
lea ecx, [esp + 0x144]
call fcn.00401b70
cmp dword [esp + 0x10], edi
jle 0x420037
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x420037
push eax
lea ecx, [esp + 0xe4]
call fcn.00401b70
jmp 0x420838
cmp byte [0x4773f3], 0
jne 0x420838
jmp 0x420ce9
mov ecx, 0x462f10
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420076
test dx, dx
je 0x420072
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420076
add eax, 4
add ecx, 4
test dx, dx
jne 0x420050
xor eax, eax
jmp 0x42007b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4200c8
push 0x461344
lea ecx, [esp + 0x114]
call fcn.00401b70
cmp dword [esp + 0x10], edi
jle 0x4200b6
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x4200b6
push eax
lea ecx, [esp + 0xe4]
call fcn.00401b70
jmp 0x420838
cmp byte [0x4773f3], 0
jne 0x420838
jmp 0x420d08
mov ecx, 0x462f74
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4200f6
test dx, dx
je 0x4200f2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4200f6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4200d0
xor eax, eax
jmp 0x4200fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420115
push 0x461344
lea ecx, [esp + 0x15c]
call fcn.00401b70
jmp 0x420838
mov ecx, 0x462f88
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420146
test dx, dx
je 0x420142
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420146
add eax, 4
add ecx, 4
test dx, dx
jne 0x420120
xor eax, eax
jmp 0x42014b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4202a5
cmp dword [esp + 0x10], edi
jle 0x420838
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x420838
push eax
lea ecx, [esp + 0xb4]
xor edi, edi
call fcn.00401b70
push edi
push 0x462f9c
lea ecx, [esp + 0xb8]
call fcn.004126d0
test eax, eax
je 0x42028b
push ecx
push 0x462f9c
lea ecx, [esp + 0xb8]
call fcn.00420fd0
mov ebx, eax
xor eax, eax
mov dword [esp + 0x90], 7
mov dword [esp + 0x8c], edi
mov word [esp + 0x7c], ax
test ebx, ebx
jle 0x42022c
lea esp, [esp]
push edi
push 0x462f9c
lea ecx, [esp + 0xb8]
call fcn.004126d0
mov esi, eax
mov ecx, esi
sub ecx, edi
push ecx
push edi
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xbc]
call fcn.00401e10
push eax
lea ecx, [esp + 0x80]
call fcn.00401b30
lea ecx, [esp + 0x94]
call fcn.00402c30
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x68]
call fcn.00421150
lea edi, [esi + 1]
cmp edi, ebx
jl 0x4201d0
mov eax, dword [esp + 0xc0]
sub eax, edi
je 0x420275
push 0xffffffffffffffff
push edi
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0xbc]
call fcn.00401e10
push eax
lea ecx, [esp + 0x80]
call fcn.00401b30
lea ecx, [esp + 0x94]
call fcn.00402c30
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x68]
call fcn.00421150
lea ecx, [esp + 0x7c]
call fcn.00402c30
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x1c]
jmp 0x420838
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x68]
call fcn.00421150
mov edi, dword [esp + 0x1c]
jmp 0x420838
mov ecx, 0x462fa0
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4202d6
test dx, dx
je 0x4202d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4202d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4202b0
xor eax, eax
jmp 0x4202db
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42030d
cmp dword [esp + 0x10], edi
jle 0x420838
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x420838
push eax
lea ecx, [esp + 0x1a4]
call fcn.00401b70
jmp 0x420838
mov ecx, 0x462fb0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42033a
test dx, dx
je 0x420336
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42033a
add eax, 4
add ecx, 4
test dx, dx
jne 0x420314
xor eax, eax
jmp 0x42033f
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420371
cmp dword [esp + 0x10], edi
jle 0x420838
mov eax, dword [esp + 0x14]
mov eax, dword [ebx + eax*4 + 4]
cmp word [eax], 0x2f
je 0x420838
push eax
lea ecx, [esp + 0x18c]
call fcn.00401b70
jmp 0x420838
mov ecx, 0x462fc0
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42039e
test dx, dx
je 0x42039a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42039e
add eax, 4
add ecx, 4
test dx, dx
jne 0x420378
xor eax, eax
jmp 0x4203a3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420401
push 0x46038c
lea ecx, [esp + 0xfc]
call fcn.00401b70
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x420838
cmp dword [esp + 0x10], esi
jle 0x4203f5
mov eax, dword [ebx + esi*4]
cmp word [eax], 0x2f
je 0x420838
push eax
lea ecx, [esp + 0xfc]
call fcn.00401cf0
push 0x460d7c
lea ecx, [esp + 0xfc]
call fcn.00401cf0
inc esi
cmp dword [esp + 0x10], esi
jg 0x4203ca
jmp 0x420838
mov ecx, 0x462fd4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42042e
test dx, dx
je 0x42042a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42042e
add eax, 4
add ecx, 4
test dx, dx
jne 0x420408
xor eax, eax
jmp 0x420433
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420491
push 0x46038c
lea ecx, [esp + 0x12c]
call fcn.00401b70
mov esi, edi
cmp edi, dword [esp + 0x10]
jge 0x420838
cmp dword [esp + 0x10], esi
jle 0x420485
mov eax, dword [ebx + esi*4]
cmp word [eax], 0x2f
je 0x420838
push eax
lea ecx, [esp + 0x12c]
call fcn.00401cf0
push 0x460d7c
lea ecx, [esp + 0x12c]
call fcn.00401cf0
inc esi
cmp dword [esp + 0x10], esi
jg 0x42045a
jmp 0x420838
mov ecx, 0x462fe8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4204be
test dx, dx
je 0x4204ba
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4204be
add eax, 4
add ecx, 4
test dx, dx
jne 0x420498
xor eax, eax
jmp 0x4204c3
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42055b
call fcn.00435280
mov eax, dword [0x477544]
sub eax, dword [0x477540]
test eax, 0xfffffffc
je 0x420d33
call fcn.0042b950
test eax, eax
je 0x420838
push 0x463008
call fcn.00439859
mov eax, dword [0x477544]
mov ecx, dword [0x477540]
sub eax, ecx
sar eax, 2
add esp, 4
xor esi, esi
test eax, eax
je 0x420d27
lea ebx, [ebx]
mov eax, dword [ecx + esi*4]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx*4 + 0x4757e0]
push eax
push 0x463038
call fcn.00439859
mov eax, dword [0x477544]
mov ecx, dword [0x477540]
sub eax, ecx
inc esi
sar eax, 2
add esp, 8
cmp esi, eax
jb 0x420520
jmp 0x420d27
mov ecx, 0x463044
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420588
test dx, dx
je 0x420584
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420588
add eax, 4
add ecx, 4
test dx, dx
jne 0x420562
xor eax, eax
jmp 0x42058d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4205a0
mov dword [0x475790], 1
jmp 0x420838
mov ecx, 0x463050
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4205cd
test dx, dx
je 0x4205c9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4205cd
add eax, 4
add ecx, 4
test dx, dx
jne 0x4205a7
xor eax, eax
jmp 0x4205d2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4205e5
mov dword [0x475790], 2
jmp 0x420838
mov ecx, 0x46305c
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420616
test dx, dx
je 0x420612
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420616
add eax, 4
add ecx, 4
test dx, dx
jne 0x4205f0
xor eax, eax
jmp 0x42061b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x42062e
mov dword [0x475790], 4
jmp 0x420838
mov ecx, 0x462cf4
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42065b
test dx, dx
je 0x420657
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42065b
add eax, 4
add ecx, 4
test dx, dx
jne 0x420635
xor eax, eax
jmp 0x420660
sbb eax, eax
or eax, 1
test eax, eax
je 0x420838
mov ecx, 0x462d10
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420696
test dx, dx
je 0x420692
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420696
add eax, 4
add ecx, 4
test dx, dx
jne 0x420670
xor eax, eax
jmp 0x42069b
sbb eax, eax
or eax, 1
test eax, eax
je 0x420838
mov ecx, 0x462d40
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4206d6
test dx, dx
je 0x4206d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4206d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4206b0
xor eax, eax
jmp 0x4206db
sbb eax, eax
or eax, 1
test eax, eax
je 0x420838
mov ecx, 0x463068
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420716
test dx, dx
je 0x420712
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420716
add eax, 4
add ecx, 4
test dx, dx
jne 0x4206f0
xor eax, eax
jmp 0x42071b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420740
cmp dword [esp + 0x10], edi
jle 0x420d55
mov eax, dword [esp + 0x14]
mov ecx, 0x477574
push dword [ebx + eax*4 + 4]
call fcn.00401b70
jmp 0x420838
mov ecx, 0x4630a8
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x42076d
test dx, dx
je 0x420769
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x42076d
add eax, 4
add ecx, 4
test dx, dx
jne 0x420747
xor eax, eax
jmp 0x420772
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420797
cmp dword [esp + 0x10], edi
jle 0x420d77
mov eax, dword [esp + 0x14]
mov ecx, 0x47758c
push dword [ebx + eax*4 + 4]
call fcn.00401b70
jmp 0x420838
mov ecx, 0x4630fc
mov eax, esi
mov edi, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4207c6
test dx, dx
je 0x4207c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4207c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4207a0
xor eax, eax
jmp 0x4207cb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x420825
cmp dword [esp + 0x10], edi
jle 0x420d99
mov eax, dword [esp + 0x14]
mov ecx, 0x46310c
mov eax, dword [ebx + eax*4 + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x420815
test dx, dx
je 0x420808
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x420815
add eax, 4
add ecx, 4
test dx, dx
jne 0x4207e6
xor eax, eax
test eax, eax
sete byte [0x4773d6]
jmp 0x420838
sbb eax, eax
or eax, 1
test eax, eax
sete byte [0x4773d6]
jmp 0x420838
cmp word [esi], 0x2f
jne 0x420838
call fcn.0042b950
test eax, eax
jne 0x420dbb
mov eax, dword [esp + 0x14]
inc eax
inc edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edi
cmp eax, dword [esp + 0x10]
jl 0x41ff10
cmp dword [esp + 0xd8], 0
jbe 0x420875
cmp dword [esp + 0x150], 0
jbe 0x420875
push 0x46038c
lea ecx, [esp + 0x144]
call fcn.00401b70
push ebx
call dword [0x45912c]
push ecx
call fcn.0040a7f0
add esp, 4
push 0x59c
call fcn.00436fb3
mov esi, eax
add esp, 4
test esi, esi
je 0x4208f7
push 0
sub esp, 0x18
mov ecx, esp
push 0x46038c
call fcn.00402b00
sub esp, 0x18
mov ecx, esp
push 0x46038c
call fcn.00402b00
sub esp, 0x18
mov ecx, esp
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x477574
mov word [ecx], ax
call fcn.00402680
sub esp, 0x18
mov ecx, esp
push 0x46139c
call fcn.00402b00
mov ecx, esi
call fcn.0040b990
mov esi, eax
jmp 0x4208f9
xor esi, esi
lea ecx, [esp + 0x94]
call fcn.0041f3c0
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x42090f
mov edx, dword [edx]
cmp word [edx], 0
jne 0x420919
xor ecx, ecx
jmp 0x42092f
mov ecx, edx
lea edi, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420920
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [esi + 0x580]
call fcn.00402a00
cmp dword [esp + 0xa8], 8
jb 0x420955
push dword [esp + 0x94]
call fcn.00436f9f
add esp, 4
mov ecx, esi
call fcn.0040fca0
test esi, esi
je 0x420970
mov ecx, esi
call fcn.0040bf60
push esi
call fcn.00436f9f
add esp, 4
mov ebx, dword [esp + 0x18]
mov ecx, ebx
call fcn.0041b100
push 0x461248
lea ecx, [esp + 0x80]
call fcn.00402b00
lea eax, [esp + 0xc]
push eax
push 0x3e80128
mov edx, 0xe0000
lea ecx, [esp + 0x84]
call fcn.00418b70
add esp, 8
cmp dword [esp + 0x90], 8
mov esi, eax
jb 0x4209c2
push dword [esp + 0x7c]
call fcn.00436f9f
add esp, 4
test esi, esi
js 0x420ddb
mov esi, dword [esp + 0xc]
lea eax, [esi - 1]
cmp eax, 6
ja case.0x4209da.6
jmp dword [eax*4 + 0x420dfc]
sub esp, 0x18
mov ecx, esp
push 0x475b20
call fcn.004035b0
xor ecx, ecx
call fcn.00432e90
add esp, 0x18
jmp case.0x4209da.6
sub esp, 0x18
mov ecx, esp
push 0x475b20
call fcn.004035b0
mov ecx, 1
call fcn.00432e90
add esp, 0x18
cmp eax, 6
jne case.0x4209da.6
call fcn.00419cf0
sub esp, 0x18
lea eax, [esp + 0x128]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0xf8]
mov ecx, esp
push eax
call fcn.004035b0
push ecx
mov dl, 1
mov ecx, esi
call fcn.0041bca0
add esp, 0x1c
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x128]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1d0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x200]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1d0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x170]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1b8]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x200]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1a0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0xc
lea eax, [esp + 0x148]
mov ecx, esp
push eax
call fcn.00421020
push ebx
mov edx, esi
call fcn.0041cf10
add esp, 0xe8
jmp case.0x4209da.6
mov byte [0x4773d7], 1
call fcn.00419cf0
sub esp, 0x18
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x128]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1d0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x200]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1d0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x170]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1b8]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x200]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0x1a0]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0xc
lea eax, [esp + 0x148]
mov ecx, esp
push eax
call fcn.00421020
push ebx
mov edx, esi
call fcn.0041cf10
add esp, 0xe8
jmp case.0x4209da.6
sub esp, 0x18
lea eax, [esp + 0x128]
mov ecx, esp
push eax
call fcn.004035b0
sub esp, 0x18
lea eax, [esp + 0xf8]
mov ecx, esp
push eax
call fcn.004035b0
push ecx
xor dl, dl
mov ecx, esi
call fcn.0041bca0
add esp, 0x34
call fcn.004185f0
lea ecx, [esp + 0x64]
call fcn.0040b1a0
lea ecx, [esp + 0x128]
call fcn.00402c30
lea ecx, [esp + 0xf8]
call fcn.00402c30
lea ecx, [esp + 0xb0]
call fcn.00402c30
lea ecx, [esp + 0x188]
call fcn.00402c30
lea ecx, [esp + 0x1a0]
call fcn.00402c30
lea ecx, [esp + 0x170]
call fcn.00402c30
lea ecx, [esp + 0x158]
call fcn.00402c30
lea ecx, [esp + 0xe0]
call fcn.00402c30
lea ecx, [esp + 0x110]
call fcn.00402c30
lea ecx, [esp + 0x140]
call fcn.00402c30
lea ecx, [esp + 0xc8]
call fcn.00402c30
mov ecx, dword [esp + 0x4dc]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00436fa4
mov esp, ebp
pop ebp
ret 0x10
push 0x462e40
lea ecx, [esp + 0x98]
call fcn.00402b00
xor edx, edx
lea ecx, [esp + 0x94]
call fcn.00418660
push 0x462eb0
lea ecx, [esp + 0x98]
call fcn.00402b00
xor edx, edx
lea ecx, [esp + 0x94]
call fcn.00418660
push 0x462f20
lea ecx, [esp + 0x98]
call fcn.00402b00
xor edx, edx
lea ecx, [esp + 0x94]
call fcn.00418660
call fcn.0042b9a0
xor ecx, ecx
call fcn.00418620
push 0x4626ac
lea ecx, [esp + 0x98]
call fcn.00402b00
mov edx, 0x80004005
lea ecx, [esp + 0x94]
call fcn.00418660
push 0x463074
lea ecx, [esp + 0x98]
call fcn.00402b00
mov edx, 0x80004005
lea ecx, [esp + 0x94]
call fcn.00418660
push 0x4630bc
lea ecx, [esp + 0x98]
call fcn.00402b00
mov edx, 0x80004005
lea ecx, [esp + 0x94]
call fcn.00418660
push 0x463114
lea ecx, [esp + 0x98]
call fcn.00402b00
mov edx, 0x80004005
lea ecx, [esp + 0x94]
call fcn.00418660
mov eax, dword [esp + 0x14]
push dword [ebx + eax*4]
push 0x463150
call fcn.00439859
add esp, 8
call fcn.0042b9a0
xor ecx, ecx
call fcn.00418620
push 0x463198
lea ecx, [esp + 0x98]
call fcn.00402b00
mov edx, esi
lea ecx, [esp + 0x94]
call fcn.00418660
mov edi, edi
sub cl, byte [ebx]
inc edx
add bh, bh
or dword [edx], eax
push ds
or eax, dword [edx]
loope 0x420e13
inc edx
add cl, ah
or dword [edx], eax
pop ds
or al, 66
add dh, ch
or eax, dword [edx]
int3