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

Disassembly:
push 0xffffffffffffffff
push 0x473788
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x398
mov eax, dword [0x48aff4]
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0x39c], eax
mov eax, dword [ebp + 0x54]
push esi
lea ecx, [eax*4 + 4]
push edi
push ecx
mov dword [esp + 0x2c], ebp
call fcn.0046b365
mov esi, dword [ebp + 0x54]
add esp, 4
cmp esi, 1
mov dword [esp + 0x1c], eax
jbe 0x428031
mov edx, dword [esp + 0x3b8]
mov ecx, dword [edx + 0x18]
sub ecx, 2
je 0x427f69
dec ecx
je 0x427f39
mov ecx, dword [ebp + 0x44]
push ecx
push esi
push eax
call fcn.00424ff0
add esp, 0xc
jmp 0x428036
mov eax, dword [ebp + 0x44]
xor edx, edx
div esi
xor ecx, ecx
test esi, esi
jbe 0x428036
mov edi, dword [esp + 0x1c]
mov edi, edi
cmp ecx, edx
lea esi, [eax + 1]
jb 0x427f59
mov esi, eax
mov dword [edi + ecx*4], esi
mov esi, dword [ebp + 0x54]
inc ecx
cmp ecx, esi
jb 0x427f50
jmp 0x428036
mov eax, dword [esp + 0x3b8]
mov esi, dword [ebp + 0x38]
mov ebx, dword [eax + 0x188]
mov edi, dword [ebp + 0x3c]
mov eax, dword [eax + 0x18c]
mov edx, esi
add edx, ebx
mov ecx, edi
adc ecx, eax
push edi
add edx, 0xffffffff
push esi
adc ecx, 0xffffffff
push ecx
push edx
call fcn.00455ae0
mov edx, dword [esp + 0x3b8]
mov cl, byte [edx + 0x1b8]
test cl, cl
je 0x428005
mov ecx, edx
mov ecx, dword [ecx + 0x18c]
push 0
mov eax, ebx
add eax, 0x3e6
push 0x3e7
adc ecx, 0
push ecx
push eax
call fcn.00455ae0
mov ecx, esi
add ecx, eax
mov eax, edi
adc eax, edx
push edi
add ecx, 0xffffffff
push esi
adc eax, 0xffffffff
push eax
push ecx
call fcn.00455ae0
mov ecx, dword [esp + 0x3b8]
push edi
mov ebx, eax
mov eax, dword [ecx + 0x1b0]
mov ecx, dword [ecx + 0x1b4]
push esi
push ecx
push eax
call fcn.00455ae0
cmp eax, ebx
ja 0x428005
mov eax, ebx
mov edx, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x54]
mov edi, dword [esp + 0x1c]
lea esi, [eax + eax]
cmp edx, esi
jb 0x428024
test ecx, ecx
jbe 0x428024
dec ecx
sub edx, eax
cmp edx, esi
mov dword [edi + ecx*4], eax
jae 0x428016
push edx
push ecx
push edi
call fcn.00424ff0
add esp, 0xc
jmp 0x428036
mov ecx, dword [ebp + 0x44]
mov dword [eax], ecx
mov edx, dword [ebp + 0x54]
mov eax, dword [esp + 0x1c]
xor ebx, ebx
mov dword [eax + edx*4], ebx
mov esi, dword [ebp + 0x44]
mov ecx, esi
shl ecx, 5
add ecx, 4
push ecx
call fcn.0046b365
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0x3b0], ebx
je 0x428081
push fcn.0044bda0
push fcn.0044bd60
push esi
lea edi, [eax + 4]
push 0x20
push edi
mov dword [eax], esi
call fcn.004555ee
mov eax, edi
jmp 0x428083
xor eax, eax
mov edi, dword [esp + 0x3b8]
mov esi, dword [ebp + 0x54]
mov dword [ebp + 0x5c], eax
mov al, byte [edi + 0x1e8]
xor edx, edx
test al, al
sete dl
mov dword [esp + 0x3b0], 0xffffffff
add esi, edx
lea eax, [esi*4 + 4]
push eax
call fcn.0046b365
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, ebx
mov dword [esp + 0x3b0], 1
je 0x4280e5
push fcn.00403040
push 0x425120
push esi
lea ebx, [eax + 4]
push 4
push ebx
mov dword [eax], esi
call fcn.004555ee
mov dword [ebp + 0x58], ebx
mov al, byte [edi + 0x1e8]
xor ecx, ecx
xor ebx, ebx
test al, al
mov eax, dword [ebp + 0x54]
sete cl
mov dword [esp + 0x3b0], 0xffffffff
add ecx, eax
je 0x42818a
lea ecx, [ecx]
push 0x50
call fcn.0046b335
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x3b0], 2
je 0x42813a
push 0
mov ecx, eax
call fcn.0042b6c0
mov esi, eax
jmp 0x42813c
xor esi, esi
mov edx, dword [ebp + 0x58]
mov ecx, dword [edx + ebx*4]
cmp ecx, esi
lea edi, [edx + ebx*4]
mov dword [esp + 0x3b0], 0xffffffff
je 0x42816c
test ecx, ecx
je 0x428163
dec dword [ecx + 4]
jne 0x428163
mov eax, dword [ecx]
push 1
call dword [eax]
test esi, esi
mov dword [edi], esi
je 0x42816c
inc dword [esi + 4]
mov ecx, dword [esp + 0x3b8]
mov al, byte [ecx + 0x1e8]
mov ecx, dword [ebp + 0x54]
xor edx, edx
inc ebx
test al, al
sete dl
add edx, ecx
cmp ebx, edx
jb 0x428110
mov eax, dword [esp + 0x3b8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ebp + 0x44]
lea ecx, [ecx + edx - 1]
cmp ecx, 0xa
mov esi, 1
mov dword [esp + 0x20], esi
jb 0x4281c6
lea esp, [esp]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
mov ecx, edx
inc esi
cmp ecx, 0xa
jae 0x4281b0
mov dword [esp + 0x20], esi
mov eax, dword [ebp + 0x54]
xor ecx, ecx
xor edx, edx
test eax, eax
jbe 0x4281e5
mov esi, dword [esp + 0x1c]
mov edi, eax
mov eax, dword [esi + edx*4]
cmp ecx, eax
jae 0x4281e0
mov ecx, eax
inc edx
cmp edx, edi
jb 0x4281d7
cmp ecx, 0xa
mov ebx, 1
jb 0x428202
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 3
mov ecx, edx
inc ebx
cmp ecx, 0xa
jae 0x4281f0
call fcn.0046b0c6
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea esi, [eax + 0x10]
mov dword [esp + 0x18], esi
push 0x2a6
mov dword [esp + 0x3b4], 3
call fcn.0046bf4c
test eax, eax
je 0x428241
push 0x2a6
push eax
lea ecx, [esp + 0x20]
call fcn.00403cd0
mov esi, dword [esp + 0x18]
mov eax, dword [esi - 4]
mov edi, dword [esi - 0xc]
mov ecx, 1
sub ecx, eax
mov eax, dword [esi - 8]
sub eax, edi
or eax, ecx
jge 0x428265
push edi
lea ecx, [esp + 0x1c]
call fcn.00401260
mov esi, dword [esp + 0x18]
push esi
call fcn.0045629a
add esp, 4
test edi, edi
jl 0x428c47
cmp edi, dword [esi - 8]
jg 0x428c47
mov eax, dword [esp + 0x20]
push esi
push ebx
push eax
lea ecx, [esp + 0x2ac]
push str.__s__s.vol__0_dd__0_dd._s
mov dword [esi - 0xc], edi
push ecx
mov byte [edi + esi], 0
call fcn.00456613
add esi, 0xfffffff0
add esp, 0x14
mov dword [esp + 0x3b0], 0xffffffff
lea edx, [esi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x4282c7
mov ecx, dword [esi]
mov edx, dword [ecx]
push esi
call dword [edx + 4]
mov eax, dword [ebp + 0x5c]
mov edi, dword [esp + 0x3b8]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x54]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ebx
jbe 0x4287de
lea ecx, [ecx]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
shl ebp, 2
mov edi, dword [edx + ebp]
xor ecx, ecx
test edi, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], ecx
mov eax, edi
jbe 0x42831b
mov edi, edi
shr eax, 1
inc ecx
test eax, eax
ja 0x428310
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x3b8]
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x34]
push eax
mov ecx, ebx
call fcn.00422a50
mov esi, eax
lea ecx, [esp + 0x60]
push ecx
mov ecx, ebx
mov dword [esp + 0x3b4], 4
call fcn.00422a80
mov edx, dword [esp + 0x18]
mov ecx, dword [esi]
push edi
push edx
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x2b0]
push eax
lea ecx, [esp + 0xac]
push 0x104
push ecx
call fcn.00455b7d
mov eax, dword [esp + 0x7c]
add eax, 0xfffffff0
add esp, 0x1c
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x428398
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov dword [esp + 0x3b0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4283c1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x58]
mov esi, dword [eax + ebp]
add eax, ebp
xor ecx, ecx
cmp esi, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x64], esi
je 0x4283e2
inc dword [esi + 4]
lea eax, [esp + 0x98]
push eax
mov ecx, esi
mov dword [esp + 0x3b4], 5
call fcn.0042b780
test al, al
je 0x4288ec
mov eax, dword [esp + 0x18]
add edi, eax
cmp eax, edi
mov dword [esp + 0x24], edi
jae 0x4286b5
test esi, esi
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + 0x3c]
lea eax, [edi + 0xa8]
push eax
mov eax, dword [edi + 0x38]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
push edx
push ecx
mov eax, esp
mov dword [esp + 0x78], esp
mov dword [eax], esi
je 0x428448
inc dword [esi + 4]
mov ebx, dword [esp + 0x58]
mov ecx, ebx
call fcn.0044bee0
mov ecx, ebx
call fcn.0044bcf0
mov ecx, dword [esp + 0x10]
add ecx, eax
adc dword [esp + 0x14], edx
mov eax, dword [edi + 0x7c]
imul eax, dword [esp + 0x40]
add ebx, 0x20
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x38]
inc ebx
cmp ecx, eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], ecx
jb 0x42859e
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x68], esi
add ebx, 0x8c
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4284b7
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x2c], ecx
test esi, esi
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov ebp, dword [eax + 8]
mov dword [esp + 0x2c], edx
je 0x4284d5
mov ecx, dword [esi + 4]
inc ecx
mov eax, ecx
inc eax
mov dword [esi + 4], ecx
mov dword [esi + 4], eax
test esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebp
je 0x4284fa
dec dword [esi + 4]
jne 0x4284fa
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebx + 8]
push 0
push eax
mov ecx, ebx
mov byte [esp + 0x3b8], 6
call fcn.004259c0
mov edi, eax
mov ecx, dword [edi + 8]
cmp ecx, esi
je 0x428531
test ecx, ecx
je 0x428527
dec dword [ecx + 4]
jne 0x428527
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi + 8], esi
je 0x428531
inc dword [esi + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], ebp
mov eax, dword [ebx + 8]
test eax, eax
je 0x42854d
mov dword [eax], edi
jmp 0x428550
mov dword [ebx + 4], edi
test esi, esi
mov dword [ebx + 8], edi
mov byte [esp + 0x3b0], 5
je 0x42856c
dec dword [esi + 4]
jne 0x42856c
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 4]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x38]
adc ebp, edx
sub eax, ecx
cmp eax, ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x30], eax
jae 0x4284a4
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x18], ecx
jb 0x428416
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4286b5
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x80], esi
add ebp, 0x8c
lea esp, [esp]
test esi, esi
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp + 0x2c], edx
je 0x4285ee
mov ecx, dword [esi + 4]
inc ecx
mov eax, ecx
inc eax
mov dword [esi + 4], ecx
mov dword [esi + 4], eax
test esi, esi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], ebx
je 0x42861c
dec dword [esi + 4]
jne 0x42861c
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebp + 8]
push 0
push eax
mov ecx, ebp
mov byte [esp + 0x3b8], 7
call fcn.004259c0
mov edi, eax
mov ecx, dword [edi + 8]
cmp ecx, esi
je 0x428653
test ecx, ecx
je 0x428649
dec dword [ecx + 4]
jne 0x428649
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi + 8], esi
je 0x428653
inc dword [esi + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], ebx
mov eax, dword [ebp + 8]
test eax, eax
je 0x42866f
mov dword [eax], edi
jmp 0x428672
mov dword [ebp + 4], edi
test esi, esi
mov dword [ebp + 8], edi
mov byte [esp + 0x3b0], 5
je 0x42868e
dec dword [esi + 4]
jne 0x42868e
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edi, eax
mov eax, dword [esp + 0x2c]
adc ecx, edx
test eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
jne 0x4285d0
test esi, esi
je 0x4286bc
inc dword [esi + 4]
test esi, esi
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xbc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], esi
je 0x4286d5
inc dword [esi + 4]
test esi, esi
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
je 0x4286fa
dec dword [esi + 4]
jne 0x4286fa
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 0x94]
add ebx, 0x8c
push 0
push ecx
mov ecx, ebx
mov byte [esp + 0x3b8], 8
call fcn.004259c0
mov edi, eax
mov ecx, dword [edi + 8]
cmp ecx, esi
je 0x42873e
test ecx, ecx
je 0x428734
dec dword [ecx + 4]
jne 0x428734
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi + 8], esi
je 0x42873e
inc dword [esi + 4]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x10], ebp
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], ecx
mov eax, dword [ebx + 8]
test eax, eax
je 0x42875a
mov dword [eax], edi
jmp 0x42875d
mov dword [ebx + 4], edi
test esi, esi
mov dword [ebx + 8], edi
mov byte [esp + 0x3b0], 5
je 0x428779
dec dword [esi + 4]
jne 0x428779
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx + 0xbc]
mov eax, dword [ecx]
call dword [eax + 4]
add ebp, eax
mov eax, dword [esp + 0x14]
adc eax, edx
push eax
push ebp
mov ecx, esi
call fcn.0042ac50
test eax, eax
je 0x428961
test esi, esi
mov dword [esp + 0x3b0], 0xffffffff
je 0x4287bd
dec dword [esi + 4]
jne 0x4287bd
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x54]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x4282f0
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x3b8]
xor ebx, ebx
mov al, byte [edi + 0x1e8]
test al, al
jne 0x428c33
lea eax, [esp + 0x34]
push eax
mov ecx, edi
call fcn.00422a50
mov esi, eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
mov dword [esp + 0x3b4], 9
call fcn.00422a80
mov edx, dword [esi]
mov eax, dword [eax]
push edx
push eax
push str._s_s.par2
lea ecx, [esp + 0x1a8]
push 0x104
push ecx
call fcn.00455b7d
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
add esp, 0x14
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42884f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov dword [esp + 0x3b0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x428878
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x58]
mov esi, dword [ecx + eax*4]
cmp esi, ebx
lea eax, [ecx + eax*4]
mov dword [esp + 0x5c], esi
je 0x42888f
inc dword [esi + 4]
lea edx, [esp + 0x19c]
push edx
mov ecx, esi
mov dword [esp + 0x3b4], 0xa
call fcn.0042b780
test al, al
jne 0x428999
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046b360
lea edi, [ebp + 0x10]
lea eax, [esp + 0x1a0]
add esp, 4
mov dword [edi], 9
mov dword [ebp + 0x18], 6
lea ecx, [ebp + 0x1c]
lea edx, [eax + 1]
jmp 0x4288e0
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x4288e0
jmp 0x428bb9
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046b360
lea edi, [ebx + 0x10]
lea eax, [esp + 0x9c]
add esp, 4
mov dword [edi], 9
mov dword [ebx + 0x18], 6
lea ebp, [ebx + 0x1c]
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x428916
sub eax, ecx
push eax
lea ecx, [esp + 0x9c]
push ecx
mov ecx, ebp
call fcn.00401e20
mov ecx, dword [ebx + 0xc]
push edi
call fcn.00423810
test esi, esi
mov dword [esp + 0x3b0], 0xffffffff
je 0x428bee
dec dword [esi + 4]
jne 0x428bee
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
jmp 0x428bee
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046b360
lea edi, [ebx + 0x10]
lea eax, [esp + 0x9c]
add esp, 4
mov dword [edi], 9
mov dword [ebx + 0x18], 7
lea ebp, [ebx + 0x1c]
lea ecx, [eax + 1]
jmp 0x428990
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x428990
jmp 0x42891d
mov eax, dword [ebp + 0x74]
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
je 0x428aa0
mov dword [esp + 0x44], esi
test esi, esi
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov ebx, dword [eax + 8]
mov dword [esp + 0x20], ecx
je 0x4289d2
mov ecx, dword [esi + 4]
inc ecx
mov eax, ecx
inc eax
mov dword [esi + 4], ecx
mov dword [esi + 4], eax
test esi, esi
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
je 0x4289f7
dec dword [esi + 4]
jne 0x4289f7
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebp + 0x94]
lea ecx, [ebp + 0x8c]
push 0
push eax
mov byte [esp + 0x3b8], 0xb
call fcn.004259c0
mov edi, eax
mov ecx, dword [edi + 8]
cmp ecx, esi
je 0x428a35
test ecx, ecx
je 0x428a2b
dec dword [ecx + 4]
jne 0x428a2b
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi + 8], esi
je 0x428a35
inc dword [esi + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], ebx
mov eax, dword [ebp + 0x94]
test eax, eax
je 0x428a54
mov dword [eax], edi
jmp 0x428a5a
mov dword [ebp + 0x90], edi
test esi, esi
mov dword [ebp + 0x94], edi
mov byte [esp + 0x3b0], 0xa
je 0x428a79
dec dword [esi + 4]
jne 0x428a79
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add edi, eax
mov eax, dword [esp + 0x20]
adc ecx, edx
test eax, eax
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ecx
jne 0x4289b4
test esi, esi
je 0x428aa7
inc dword [esi + 4]
test esi, esi
mov eax, dword [ebp + 0xbc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x44], esi
je 0x428abc
inc dword [esi + 4]
test esi, esi
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
je 0x428ae1
dec dword [esi + 4]
jne 0x428ae1
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp + 0x94]
lea ebx, [ebp + 0x8c]
push 0
push ecx
mov ecx, ebx
mov byte [esp + 0x3b8], 0xc
call fcn.004259c0
mov edi, eax
mov ecx, dword [edi + 8]
cmp ecx, esi
je 0x428b21
test ecx, ecx
je 0x428b17
dec dword [ecx + 4]
jne 0x428b17
mov edx, dword [ecx]
push 1
call dword [edx]
test esi, esi
mov dword [edi + 8], esi
je 0x428b21
inc dword [esi + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], edx
mov eax, dword [ebx + 8]
test eax, eax
je 0x428b41
mov dword [eax], edi
jmp 0x428b44
mov dword [ebx + 4], edi
test esi, esi
mov dword [ebx + 8], edi
mov byte [esp + 0x3b0], 0xa
je 0x428b60
dec dword [esi + 4]
jne 0x428b60
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp + 0xbc]
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [esp + 0x14]
adc eax, edx
push eax
push ecx
mov ecx, esi
call fcn.0042ac50
test eax, eax
jne 0x428c17
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046b360
lea edi, [ebp + 0x10]
lea eax, [esp + 0x1a0]
add esp, 4
mov dword [edi], 9
mov dword [ebp + 0x18], 7
lea ecx, [ebp + 0x1c]
lea edx, [eax + 1]
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x428bb2
sub eax, edx
push eax
lea edx, [esp + 0x1a0]
push edx
call fcn.00401e20
mov ecx, dword [ebp + 0xc]
push edi
call fcn.00423810
test esi, esi
mov dword [esp + 0x3b0], 0xffffffff
je 0x428bee
dec dword [esi + 4]
jne 0x428bee
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax]
xor eax, eax
mov ecx, dword [esp + 0x3a8]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x3a4]
call fcn.00455418
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3a4
ret 4
test esi, esi
mov dword [esp + 0x3b0], 0xffffffff
je 0x428c33
dec dword [esi + 4]
jne 0x428c33
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
mov eax, dword [esp + 0x1c]
push eax
call fcn.0046b360
add esp, 4
mov eax, 1
jmp 0x428bf0
push 0x80070057
call fcn.00401060
int3