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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
push esi
mov esi, dword [esp + 0xc0]
cmp esi, 0x100
push edi
jl 0x422e90
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0xd0]
push edx
call fcn.0051ebd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov edi, dword [esp + 0xbc]
mov ecx, edi
call fcn.004ac200
test eax, eax
je 0x422eb2
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov ebx, dword [esp + 0xc0]
mov ecx, ebx
call fcn.004ac200
test eax, eax
je 0x422edb
mov ecx, edi
call fcn.004ac2b0
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov eax, dword [edi + 0x74]
mov ecx, dword [ebx + 0x74]
cmp eax, ecx
je 0x4242aa
cmp eax, 3
jne 0x423c67
cmp ecx, 0xa
jne 0x423e70
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd0]
mov word [esp + 0x58], ax
mov byte [esp + 0x5a], 0xf
mov eax, dword [esp + 0x58]
and esi, 0xff
mov dword [esp + 0x64], ecx
test ecx, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
jne 0x422f34
add edi, 0x18
mov dword [esp + 0x64], edi
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xd8]
xor ecx, ecx
mov edx, dword [esi]
mov ebp, dword [esi + 4]
mov dword [esp + 0x18], edx
mov eax, edx
mov edx, ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x74], edx
mov edx, 1
cmp edi, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x70], eax
jle 0x422fe2
lea eax, [esi + 8]
jmp 0x422f77
mov ebp, dword [esp + 0x1c]
mov edi, dword [eax + 4]
cmp edi, ebp
jge 0x422f8f
mov edi, dword [eax]
mov ecx, edx
mov dword [esp + 0x18], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x1c], edi
jmp 0x422fcf
jne 0x422faa
mov ebp, dword [esp + 0x18]
cmp dword [eax], ebp
jge 0x422faa
mov edi, dword [eax]
mov ecx, edx
mov dword [esp + 0x18], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x1c], edi
jmp 0x422fcf
mov ebp, dword [esp + 0x74]
cmp ebp, edi
jl 0x422fbe
jne 0x422fcf
mov edi, dword [esp + 0x70]
mov ebp, dword [eax]
cmp edi, ebp
jge 0x422fcf
mov edi, dword [eax]
mov dword [esp + 0x10], edx
mov dword [esp + 0x70], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x74], edi
mov edi, dword [esp + 0xd8]
inc edx
add eax, 8
cmp edx, edi
jl 0x422f73
mov dword [esp + 0x60], ecx
lea eax, [ecx - 1]
lea ebp, [ecx + 1]
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
xor eax, eax
mov dword [esp + 0x58], ebp
cmp ecx, eax
jne 0x423001
lea edx, [edi - 1]
mov dword [esp + 0x14], edx
dec edi
cmp ecx, edi
mov dword [esp + 0x44], edi
jne 0x423010
xor ebp, ebp
mov dword [esp + 0x58], ebp
mov edi, dword [esp + 0x14]
mov edx, dword [esi + ecx*8]
mov ebp, dword [esi + ebp*8]
mov dword [esp + 0x28], eax
mov edi, dword [esi + edi*8 + 4]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
sub ebp, edx
mov dword [esp + 0x2c], eax
lea eax, [esi + ecx*8 + 4]
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], ecx
mov eax, dword [eax]
sub edi, eax
mov dword [esp + 0x30], eax
imul edi, ebp
mov ebp, dword [esp + 0x58]
mov ebp, dword [esi + ebp*8 + 4]
sub ebp, eax
mov eax, dword [esp + 0x14]
mov eax, dword [esi + eax*8]
sub eax, edx
imul ebp, eax
sub ebp, edi
test ebp, ebp
jle 0x42329f
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x423089
mov edi, dword [esp + 0xd8]
mov edx, dword [esi + 4]
cmp edx, dword [esi + edi*8 - 4]
jne 0x4230b2
mov edx, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
jmp 0x4230b6
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8 - 4]
cmp eax, edx
jne 0x4230a5
mov edi, dword [esp + 0xd8]
lea edx, [ebp - 1]
mov dword [esp + 0x2c], edx
jmp 0x4230b6
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0xd8]
jmp 0x4230b6
mov edx, dword [esp + 0x2c]
cmp ecx, edx
mov eax, ecx
je 0x4230ef
mov ebp, dword [esp + 0x28]
inc eax
cmp eax, edi
jne 0x4230c7
xor eax, eax
inc ebp
cmp eax, edx
jne 0x4230c0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x10]
test ecx, ecx
jne 0x4230f5
mov ecx, dword [esi + 4]
mov eax, dword [esi + edi*8 - 4]
cmp ecx, eax
jne 0x42310b
mov eax, edx
mov dword [esp + 0x34], eax
jmp 0x42310f
mov edx, dword [esp + 0x44]
jmp 0x4230d8
mov eax, dword [esp + 0x30]
mov edi, dword [esi + ecx*8 - 4]
cmp eax, edi
jne 0x42310b
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], eax
jmp 0x42310f
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x423128
mov ecx, dword [esp + 0x38]
dec eax
cmp eax, 0xffffffff
jne 0x42311f
mov eax, edx
inc ecx
cmp eax, ebp
jne 0x423117
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x28]
lea ebp, [ecx + 1]
shl ebp, 4
push ebp
call fcn.0054a1d0
mov edx, dword [esp + 0x3c]
mov edi, eax
mov dword [esp + 0x60], edi
lea eax, [edx + 1]
shl eax, 4
push eax
mov dword [esp + 0x1c], eax
call fcn.0054a1d0
push ebp
mov dword [esp + 0x60], eax
call fcn.0054a1d0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
push eax
call fcn.0054a1d0
mov edx, dword [esp + 0x70]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x3c]
add esp, 0x10
cmp edx, eax
mov eax, dword [esp + 0xc8]
je 0x42320a
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
sub edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x14]
lea ecx, [ebp + 8]
mov ebp, edx
inc edx
cmp edx, dword [esp + 0xd8]
mov dword [esp + 0x20], ebp
jne 0x4231af
xor edx, edx
mov ebp, dword [esi + ebp*8]
add ecx, 0x10
mov dword [edi], ebp
mov ebp, dword [esp + 0x20]
mov ebp, dword [esi + ebp*8 + 4]
mov dword [edi + 4], ebp
mov edi, dword [esp + 0x30]
mov ebp, dword [esi + edx*8]
mov dword [edi + ecx - 0x10], ebp
mov ebp, dword [esi + edx*8 + 4]
mov dword [edi + ecx - 0xc], ebp
mov edi, dword [esp + 0x20]
mov ebp, dword [eax + edi*8]
mov dword [ecx - 0x18], ebp
mov edi, dword [eax + edi*8 + 4]
mov dword [ecx - 0x14], edi
mov edi, dword [eax + edx*8]
mov ebp, dword [esp + 0x2c]
mov dword [ecx - 0x10], edi
mov edi, dword [eax + edx*8 + 4]
mov dword [ecx - 0xc], edi
mov edi, dword [esp + 0x14]
add edi, 0x10
cmp edx, ebp
mov dword [esp + 0x14], edi
jne 0x42319d
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
cmp edx, ecx
je 0x4234ad
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x14], edi
sub edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x14]
lea ecx, [ebp + 8]
mov ebp, edx
dec edx
cmp edx, 0xffffffff
mov dword [esp + 0x20], ebp
jne 0x423243
mov edx, dword [esp + 0x44]
mov ebp, dword [esi + ebp*8]
add ecx, 0x10
mov dword [edi], ebp
mov ebp, dword [esp + 0x20]
mov ebp, dword [esi + ebp*8 + 4]
mov dword [edi + 4], ebp
mov edi, dword [esp + 0x30]
mov ebp, dword [esi + edx*8]
mov dword [edi + ecx - 0x10], ebp
mov ebp, dword [esi + edx*8 + 4]
mov dword [edi + ecx - 0xc], ebp
mov edi, dword [esp + 0x20]
mov ebp, dword [eax + edi*8]
mov dword [ecx - 0x18], ebp
mov edi, dword [eax + edi*8 + 4]
mov dword [ecx - 0x14], edi
mov edi, dword [eax + edx*8]
mov ebp, dword [esp + 0x10]
mov dword [ecx - 0x10], edi
mov edi, dword [eax + edx*8 + 4]
mov dword [ecx - 0xc], edi
mov edi, dword [esp + 0x14]
add edi, 0x10
cmp edx, ebp
mov dword [esp + 0x14], edi
jne 0x423233
jmp 0x4234a9
mov edi, dword [esp + 0x44]
cmp ecx, edi
jne 0x4232ba
mov edx, dword [esp + 0x30]
mov eax, dword [esi + 4]
cmp edx, eax
jne 0x4232cf
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x4232d3
mov eax, dword [esp + 0x30]
mov edx, dword [esi + ecx*8 + 0xc]
cmp eax, edx
jne 0x4232cf
lea eax, [ecx + 1]
mov dword [esp + 0x34], eax
jmp 0x4232d3
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
cmp eax, edx
je 0x4232f4
mov ebp, dword [esp + 0x38]
inc eax
cmp eax, dword [esp + 0xd8]
jne 0x4232eb
xor eax, eax
inc ebp
cmp eax, edx
jne 0x4232df
mov dword [esp + 0x38], ebp
cmp edx, edi
jne 0x42330b
mov edx, dword [esi + edx*8 + 4]
mov eax, dword [esi + 4]
cmp edx, eax
jne 0x423320
xor eax, eax
mov dword [esp + 0x2c], eax
jmp 0x423324
mov eax, dword [esi + edx*8 + 4]
mov ebp, dword [esi + edx*8 + 0xc]
cmp eax, ebp
jne 0x423320
lea eax, [edx + 1]
mov dword [esp + 0x2c], eax
jmp 0x423324
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
cmp ecx, eax
je 0x42333d
dec ecx
cmp ecx, 0xffffffff
jne 0x423334
mov ecx, edi
inc ebp
cmp ecx, eax
jne 0x42332c
mov dword [esp + 0x28], ebp
inc ebp
shl ebp, 4
push ebp
call fcn.0054a1d0
mov ecx, dword [esp + 0x3c]
mov edi, eax
mov dword [esp + 0x60], edi
lea eax, [ecx + 1]
shl eax, 4
push eax
mov dword [esp + 0x1c], eax
call fcn.0054a1d0
push ebp
mov dword [esp + 0x60], eax
call fcn.0054a1d0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], eax
push edx
call fcn.0054a1d0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp edx, eax
mov eax, dword [esp + 0xc8]
je 0x42341d
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x14], edi
sub edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x14]
lea ecx, [ebp + 8]
mov ebp, edx
inc edx
cmp edx, dword [esp + 0xd8]
mov dword [esp + 0x20], ebp
jne 0x4233c2
xor edx, edx
mov ebp, dword [esi + ebp*8]
add ecx, 0x10
mov dword [edi], ebp
mov ebp, dword [esp + 0x20]
mov ebp, dword [esi + ebp*8 + 4]
mov dword [edi + 4], ebp
mov edi, dword [esp + 0x30]
mov ebp, dword [esi + edx*8]
mov dword [ecx + edi - 0x10], ebp
mov ebp, dword [esi + edx*8 + 4]
mov dword [ecx + edi - 0xc], ebp
mov edi, dword [esp + 0x20]
mov ebp, dword [eax + edi*8]
mov dword [ecx - 0x18], ebp
mov edi, dword [eax + edi*8 + 4]
mov dword [ecx - 0x14], edi
mov edi, dword [eax + edx*8]
mov ebp, dword [esp + 0x10]
mov dword [ecx - 0x10], edi
mov edi, dword [eax + edx*8 + 4]
mov dword [ecx - 0xc], edi
mov edi, dword [esp + 0x14]
add edi, 0x10
cmp edx, ebp
mov dword [esp + 0x14], edi
jne 0x4233b0
mov edi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x2c]
cmp edx, ecx
je 0x4234ad
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
sub edi, ebp
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x14]
lea ecx, [ebp + 8]
mov ebp, edx
dec edx
cmp edx, 0xffffffff
mov dword [esp + 0x20], ebp
jne 0x423452
mov edx, dword [esp + 0x44]
mov ebp, dword [esi + ebp*8]
add ecx, 0x10
mov dword [edi], ebp
mov ebp, dword [esp + 0x20]
mov ebp, dword [esi + ebp*8 + 4]
mov dword [edi + 4], ebp
mov edi, dword [esp + 0x30]
mov ebp, dword [esi + edx*8]
mov dword [ecx + edi - 0x10], ebp
mov ebp, dword [esi + edx*8 + 4]
mov dword [ecx + edi - 0xc], ebp
mov edi, dword [esp + 0x20]
mov ebp, dword [eax + edi*8]
mov dword [ecx - 0x18], ebp
mov edi, dword [eax + edi*8 + 4]
mov dword [ecx - 0x14], edi
mov edi, dword [eax + edx*8]
mov ebp, dword [esp + 0x2c]
mov dword [ecx - 0x10], edi
mov edi, dword [eax + edx*8 + 4]
mov dword [ecx - 0xc], edi
mov edi, dword [esp + 0x14]
add edi, 0x10
cmp edx, ebp
mov dword [esp + 0x14], edi
jne 0x423442
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
shl eax, 4
add ecx, eax
lea edx, [ecx - 0x10]
mov ebp, dword [ecx - 0x10]
mov dword [ecx], ebp
mov ebp, dword [edx + 4]
mov dword [ecx + 4], ebp
mov ebp, dword [edx + 8]
mov dword [ecx + 8], ebp
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0x50]
add eax, ecx
lea edx, [eax - 0x10]
mov ecx, dword [eax - 0x10]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
shl eax, 4
lea ecx, [edi + eax - 0x10]
mov edx, dword [edi + eax - 0x10]
mov dword [edi + eax], edx
mov edx, dword [ecx + 4]
mov dword [edi + eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [edi + eax + 8], edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [ecx + 0xc]
mov dword [edi + eax + 0xc], ecx
add eax, edx
lea ecx, [eax - 0x10]
mov edx, dword [eax - 0x10]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebx + 0x14]
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x30], edx
mov edx, dword [ebx + 0x10]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xac], edx
mov dword [esp + 0x58], ecx
xor edx, edx
xor eax, eax
xor ecx, ecx
cmp byte [esp + 0xd4], dl
setne dl
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x423591
mov edx, dword [esp + 0x48]
mov edx, dword [edx]
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x10]
mov edx, dword [esi + edx*8 + 4]
mov dword [esp + 0x14], edx
jmp 0x423806
mov ebp, dword [esp + 0x64]
mov edx, dword [ebp]
shl edx, 0x14
add edx, 0x80000
mov dword [esp + 0x70], edx
mov edx, dword [ebp + 8]
shl edx, 0x14
sub edx, 0x80000
mov ebp, dword [ebp + 4]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x48]
mov edx, dword [edx]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x10]
mov edx, dword [esi + edx*8 + 4]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x64]
mov esi, dword [edx + 0xc]
mov edx, dword [esp + 0x48]
dec esi
cmp esi, edx
mov dword [esp + 0x7c], esi
jl 0x423c34
cmp dword [esp + 0x68], ebp
jl 0x423c34
mov edx, dword [esp + 0x48]
cmp ebp, edx
jg 0x423604
mov dword [esp + 0x34], edx
jmp 0x4237f6
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], ebp
mov eax, 1
dec ebp
cmp ecx, eax
mov dword [esp + 0x20], eax
jle 0x423632
add edi, 0xc
cmp dword [edi - 8], ebp
jg 0x423626
cmp ebp, dword [edi]
jl 0x42362e
inc eax
add edi, 0x10
cmp eax, ecx
jl 0x42361d
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x38]
mov ecx, 1
cmp edx, ecx
mov dword [esp + 0x28], ecx
jle 0x42365f
mov eax, dword [esp + 0x54]
add eax, 0xc
cmp dword [eax - 8], ebp
jg 0x423653
cmp ebp, dword [eax]
jl 0x42365b
inc ecx
add eax, 0x10
cmp ecx, edx
jl 0x42364a
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x5c]
shl ecx, 4
mov edx, dword [eax + ecx - 0xc]
mov edi, dword [eax + ecx - 4]
mov ebx, dword [eax + ecx - 0x10]
mov eax, dword [eax + ecx - 8]
sub eax, ebx
mov dword [esp + 0x24], edx
shl eax, 0x14
sub edi, edx
cdq
idiv edi
mov edx, dword [esp + 0x4c]
shl ebx, 0x14
mov esi, dword [edx + ecx - 0x10]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
add edi, eax
mov eax, dword [edx + ecx - 8]
sub eax, esi
mov dword [esp + 0x14], edi
shl eax, 0x14
cdq
idiv edi
shl esi, 0x14
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x4c]
mov edx, eax
mov edi, dword [eax + ecx - 0xc]
mov eax, dword [edx + ecx - 4]
mov ecx, dword [esp + 0x24]
sub eax, edi
shl eax, 0x14
cdq
idiv dword [esp + 0x14]
shl edi, 0x14
mov dword [esp + 0x80], eax
mov eax, ebp
sub eax, ecx
mov ecx, eax
imul ecx, dword [esp + 0x84]
lea edx, [ecx + ebx + 0x80000]
mov ecx, eax
imul ecx, dword [esp + 0x88]
imul eax, dword [esp + 0x80]
mov dword [esp + 0x44], edx
lea edx, [ecx + esi + 0x80000]
mov ecx, dword [esp + 0x28]
lea eax, [eax + edi + 0x80000]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x54]
shl ecx, 4
mov dword [esp + 0x6c], edx
mov edx, dword [eax + ecx - 0xc]
mov esi, dword [eax + ecx - 4]
mov edi, dword [eax + ecx - 0x10]
mov eax, dword [eax + ecx - 8]
sub eax, edi
mov dword [esp + 0x24], edx
shl eax, 0x14
sub esi, edx
cdq
idiv esi
mov edx, dword [esp + 0x2c]
add esi, edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x50]
mov ebx, dword [eax + ecx - 0x10]
mov eax, dword [eax + ecx - 8]
sub eax, ebx
shl eax, 0x14
cdq
idiv esi
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov esi, dword [eax + ecx - 0xc]
mov eax, dword [eax + ecx - 4]
sub eax, esi
shl eax, 0x14
cdq
idiv dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x98]
sub ebp, ecx
mov ecx, ebp
imul edx, ecx
shl edi, 0x14
shl ebx, 0x14
lea edx, [edx + edi + 0x80000]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x8c]
imul edx, ecx
mov dword [esp + 0xa4], eax
imul eax, ecx
mov ecx, dword [esp + 0x28]
lea edx, [edx + ebx + 0x80000]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x90], edx
shl esi, 0x14
lea eax, [eax + esi + 0x80000]
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x68]
cmp edx, esi
mov dword [esp + 0x14], edx
jle 0x423806
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0xbc]
mov edx, esi
imul edx, dword [esp + 0x58]
add edx, dword [ebp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x14]
cmp esi, edx
jg 0x423c34
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
shl ecx, 4
shl eax, 4
lea ebp, [edx + ecx]
lea ecx, [ebx + ecx - 0xc]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x4c]
lea esi, [edi + eax]
mov dword [esp + 0x7c], ebp
lea eax, [ecx + eax - 0xc]
add ebp, 0xfffffff0
mov dword [esp + 0x10], eax
mov eax, ecx
sub eax, edi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
sub eax, edx
lea ebx, [esi - 0x10]
mov dword [esp + 0xb4], eax
jmp 0x423885
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x34]
mov eax, dword [esi + 4]
cmp eax, ecx
je 0x4238df
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x44]
add ecx, esi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x78], ecx
add eax, edx
sar ecx, 0x14
imul ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x6c]
add eax, edi
mov dword [esp + 0x6c], eax
sar eax, 0x14
add edx, ecx
lea edi, [edx + eax*4]
jmp 0x42398d
mov edx, dword [ebx + 0x10]
add ebx, 0x10
mov eax, edx
mov ecx, dword [esp + 0x10]
mov edi, dword [ebx + 0xc]
add ecx, 0x10
shl eax, 0x14
add eax, 0x80000
mov dword [esp + 0x10], ecx
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 4]
sub edi, eax
lea eax, [ebx + 0x10]
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 8]
sub eax, edx
mov ecx, dword [ecx]
shl eax, 0x14
cdq
idiv edi
mov edx, dword [esp + 0xb0]
mov esi, dword [edx + ebx]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x84], eax
mov eax, esi
shl eax, 0x14
add eax, 0x80000
mov dword [esp + 0x6c], eax
mov eax, ecx
shl eax, 0x14
add eax, 0x80000
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2c]
add edi, eax
mov eax, dword [edx + 4]
sub eax, esi
shl eax, 0x14
cdq
idiv edi
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 8]
sub eax, ecx
imul ecx, dword [esp + 0x30]
shl eax, 0x14
cdq
idiv edi
mov edx, dword [esp + 0xac]
add edx, ecx
lea edi, [edx + esi*4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x34]
cmp dword [ecx + 4], eax
je 0x4239d8
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x60]
add esi, edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x90]
add esi, edx
add ecx, eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x60], ecx
jmp 0x423a7e
mov eax, dword [esp + 0x28]
mov edx, dword [ebp + 0x10]
add ebp, 0x10
add eax, 0x10
mov dword [esp + 0x28], eax
mov eax, edx
mov ecx, dword [ebp + 0xc]
shl eax, 0x14
add eax, 0x80000
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 4]
sub ecx, eax
lea eax, [ebp + 0x10]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 8]
sub eax, edx
shl eax, 0x14
cdq
idiv ecx
mov edx, dword [esp + 0xb4]
mov edx, dword [edx + ebp]
mov esi, edx
shl esi, 0x14
add esi, 0x80000
mov dword [esp + 0x90], esi
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
shl eax, 0x14
add eax, 0x80000
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
add ecx, eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 4]
sub eax, edx
shl eax, 0x14
cdq
idiv ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 8]
sub eax, dword [esp + 0x24]
shl eax, 0x14
cdq
idiv ecx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
sar eax, 0x14
sar edx, 0x14
mov ecx, eax
mov dword [esp + 0x48], eax
sub ecx, edx
mov dword [esp + 0x24], edx
je 0x423ae8
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x6c]
add ecx, eax
mov eax, esi
sar edx, 0x14
shl edx, 0x14
and eax, 0xfff00000
sub eax, edx
cdq
idiv ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x78]
sar eax, 0x14
shl eax, 0x14
mov edx, eax
mov eax, dword [esp + 0x60]
and eax, 0xfff00000
sub eax, edx
cdq
idiv ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x48]
jmp 0x423af8
xor ecx, ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x64]
xor esi, esi
test ecx, ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x68], esi
jne 0x423b0e
mov ecx, edx
jmp 0x423b8b
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0xa0]
cmp eax, ecx
jl 0x423c06
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x38], eax
jl 0x423c06
cmp eax, ecx
jg 0x423b37
mov ecx, edx
jmp 0x423b6e
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
sub eax, edx
sar eax, 0x14
mov esi, eax
imul eax, dword [esp + 0x9c]
imul esi, dword [esp + 0x94]
mov dword [esp + 0x68], eax
mov ecx, dword [ecx]
sar eax, 0x14
imul eax, dword [esp + 0x30]
mov edx, esi
sar edx, 0x14
add eax, edi
lea edi, [eax + edx*4]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xa0]
cmp eax, edx
jg 0x423b83
mov eax, dword [esp + 0x48]
jmp 0x423b8b
mov edx, dword [esp + 0x64]
mov eax, dword [edx + 8]
dec eax
cmp ecx, eax
jg 0x423bf6
mov edx, dword [esp + 0x20]
sub eax, ecx
inc eax
lea edx, [edx + ecx*2]
mov dword [esp + 0x24], eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
push edi
push eax
lea ecx, [esp + 0x44]
call fcn.00439b60
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x9c]
add eax, ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x68], eax
add esi, edx
sar eax, 0x14
imul eax, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov ecx, esi
sar ecx, 0x14
add edx, eax
mov eax, dword [esp + 0x24]
lea edi, [edx + ecx*4]
mov ecx, dword [esp + 0x48]
add ecx, 2
dec eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x24], eax
jne 0x423ba1
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
jmp 0x423c14
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
inc eax
cmp eax, ecx
mov dword [esp + 0x34], eax
jle 0x42387e
mov ebx, dword [esp + 0xc0]
mov edi, dword [esp + 0x5c]
push edi
call fcn.0054a2d0
mov edx, dword [esp + 0x58]
push edx
call fcn.0054a2d0
mov eax, dword [esp + 0x54]
push eax
call fcn.0054a2d0
mov ecx, dword [esp + 0x5c]
push ecx
call fcn.0054a2d0
mov edi, dword [esp + 0xcc]
add esp, 0x10
jmp case.0x4242b6.9
cmp eax, 4
jne 0x423cd6
cmp ecx, 0xb
jne 0x423e70
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0xf
mov eax, dword [esp + 0x30]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [ebx + 0xc]
push eax
push ecx
push edx
call fcn.00424fc0
jmp 0x424679
cmp eax, 5
jne 0x423d44
cmp ecx, 0xc
jne 0x423e70
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
lea edx, [edi + 0xc]
push eax
push edx
mov dl, byte [esp + 0x32]
push ecx
mov cx, word [esp + 0x34]
mov eax, esp
mov word [eax], cx
mov ecx, dword [esp + 0x3c]
mov byte [eax + 2], dl
lea eax, [ebx + 0xc]
push eax
push ecx
call fcn.00425ca0
jmp 0x424679
cmp eax, 6
jne 0x423db2
cmp ecx, 0xd
jne 0x423e70
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
lea edx, [edi + 0xc]
push eax
push edx
mov dl, byte [esp + 0x32]
push ecx
mov cx, word [esp + 0x34]
mov eax, esp
mov word [eax], cx
mov ecx, dword [esp + 0x3c]
mov byte [eax + 2], dl
lea eax, [ebx + 0xc]
push eax
push ecx
call fcn.004269c0
jmp 0x424679
cmp eax, 7
jne 0x423e13
cmp ecx, 0xc
jne 0x423e70
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.004276f0
jmp 0x424679
cmp eax, 8
jne 0x423e70
cmp ecx, 0xd
jne 0x423e70
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00428420
jmp 0x424679
cmp ecx, 3
jne 0x423eda
cmp eax, 0xa
jne 0x423f40
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0x48]
and esi, 0xff
push ecx
push edx
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [edi + 0xc]
push eax
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0xc]
push edx
push eax
push ecx
call fcn.00429150
jmp 0x424679
cmp ecx, 4
jne 0x423f40
cmp eax, 0xb
jne 0x423f40
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
lea eax, [edi + 0xc]
push edx
push eax
mov eax, dword [esp + 0x38]
lea edx, [ebx + 0xc]
push ecx
push edx
push eax
call fcn.00429f10
jmp 0x424679
cmp eax, 0xc
jne 0x4240e6
lea eax, [ecx - 5]
cmp eax, 3
ja case.default.0x4240fb
jmp dword [eax*4 + 0x424698]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov edx, dword [esp + 0xd0]
mov ecx, eax
shr ecx, 0x10
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
lea eax, [edi + 0xc]
push edx
push eax
lea edx, [ebx + 0xc]
push ecx
push edx
mov dl, byte [esp + 0x3a]
push ecx
mov cx, word [esp + 0x3c]
mov eax, esp
mov word [eax], cx
mov byte [eax + 2], dl
call fcn.0042acd0
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov edx, dword [esp + 0xd4]
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd8]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0x48]
and esi, 0xff
push ecx
push edx
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [edi + 0xc]
push eax
push ecx
lea eax, [ebx + 0xc]
push edx
mov dx, word [esp + 0x34]
push eax
mov al, byte [esp + 0x3a]
push ecx
mov ecx, esp
mov word [ecx], dx
mov byte [ecx + 2], al
call fcn.0042ba20
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.0042c770
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.0042d4c0
jmp 0x424679
cmp eax, 0xd
jne case.default.0x4240fb
lea eax, [ecx - 5]
cmp eax, 3
ja case.default.0x4240fb
jmp dword [eax*4 + 0x4246a8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov edx, dword [esp + 0xd4]
mov ecx, eax
shr ecx, 0x10
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd8]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0x48]
and esi, 0xff
push ecx
push edx
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [edi + 0xc]
push eax
push ecx
lea eax, [ebx + 0xc]
push edx
mov dx, word [esp + 0x34]
push eax
mov al, byte [esp + 0x3a]
push ecx
mov ecx, esp
mov word [ecx], dx
mov byte [ecx + 2], al
call fcn.0042e210
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov edx, dword [esp + 0xd0]
mov ecx, eax
shr ecx, 0x10
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
lea eax, [edi + 0xc]
push edx
push eax
lea edx, [ebx + 0xc]
push ecx
push edx
mov dl, byte [esp + 0x3a]
push ecx
mov cx, word [esp + 0x3c]
mov eax, esp
mov word [eax], cx
mov byte [eax + 2], dl
call fcn.0042ef60
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.0042fcb0
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00430a00
jmp 0x424679
mov ecx, ebx
call fcn.004ac2b0
mov ecx, edi
call fcn.004ac2b0
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
add eax, 0xfffffffd
cmp eax, 0xa
ja case.0x4242b6.9
jmp dword [eax*4 + 0x4246b8]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0xd0]
push eax
mov eax, dword [esp + 0x48]
and esi, 0xff
push ecx
push edx
mov edx, dword [esp + 0x2c]
push esi
lea ecx, [edi + 0xc]
push eax
push ecx
mov ecx, dword [esp + 0x38]
lea eax, [ebx + 0xc]
push edx
push eax
push ecx
call fcn.00431750
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xd0]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push esi
lea eax, [edi + 0xc]
push edx
push eax
mov eax, dword [esp + 0x38]
lea edx, [ebx + 0xc]
push ecx
push edx
push eax
call fcn.00432450
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov edx, dword [esp + 0xd0]
mov ecx, eax
shr ecx, 0x10
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
push esi
lea eax, [edi + 0xc]
push edx
mov dx, word [esp + 0x2c]
push eax
mov al, byte [esp + 0x32]
push ecx
mov ecx, esp
mov word [ecx], dx
mov byte [ecx + 2], al
mov ax, word [esp + 0x34]
lea ecx, [ebx + 0xc]
push ecx
push ecx
mov cl, byte [esp + 0x3e]
mov edx, esp
mov word [edx], ax
mov byte [edx + 2], cl
call fcn.00433150
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov edx, dword [esp + 0xd0]
mov ecx, eax
shr ecx, 0x10
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0xd8]
mov byte [esp + 0x3e], cl
mov ecx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0xd0]
push edx
mov edx, dword [esp + 0x48]
and esi, 0xff
push eax
push ecx
push esi
lea eax, [edi + 0xc]
push edx
mov dx, word [esp + 0x2c]
push eax
mov al, byte [esp + 0x32]
push ecx
mov ecx, esp
mov word [ecx], dx
mov byte [ecx + 2], al
mov ax, word [esp + 0x34]
lea ecx, [ebx + 0xc]
push ecx
push ecx
mov cl, byte [esp + 0x3e]
mov edx, esp
mov word [edx], ax
mov byte [edx + 2], cl
call fcn.00433e50
jmp 0x424679
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00434b40
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00435880
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0xf
mov eax, dword [esp + 0x30]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [ebx + 0xc]
push eax
push ecx
push edx
call fcn.004365c0
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
mov word [esp + 0x30], ax
mov byte [esp + 0x32], 0xf
mov eax, dword [esp + 0x30]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [ebx + 0xc]
push eax
push ecx
push edx
call fcn.00437360
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00438100
jmp 0x424679
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x74]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
push edx
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xd4]
and esi, 0xff
push edx
push ecx
push esi
push eax
mov eax, dword [esp + 0x34]
lea edx, [edi + 0xc]
lea ecx, [ebx + 0xc]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
call fcn.00438e30
add esp, 0x2c
mov ecx, ebx
call fcn.004ac2b0
mov ecx, edi
call fcn.004ac2b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa8
ret