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

Disassembly:
sub esp, 0xe0
mov dword [esp + 8], ecx
push ebx
push esi
cmp edx, 3
mov byte [esp + 0x3c], 0
mov byte [esp + 0xb], 1
push edi
push ebp
jg 0x418b66
test edx, edx
jge 0x418b6b
mov byte [esp + 0x44], 1
mov edx, 3
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0x18]
mov ebx, dword [edi + esi*8 + 0x64]
mov ecx, dword [edi + esi*4]
lea eax, [edi + esi*8 + 0x60]
lea ebp, [edi + esi*8 + 0x70]
mov dword [esp + 0x3c], ecx
nop
mov ecx, dword [eax]
mov eax, dword [ebp]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x98], eax
mov ecx, dword [ebp + 4]
mov dword [esp + 0x94], ebx
mov eax, dword [edi + esi*8 + 0x80]
lea ebx, [edi + esi*8 + 0x80]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], eax
mov ecx, dword [ebx + 4]
lea eax, [edi + esi*8 + 0x90]
mov dword [esp + 0xa4], ecx
nop
mov edi, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 8]
mov edi, dword [ecx + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], edi
mov edi, dword [ecx + 0x18]
cmp edi, 0x4d2
mov edi, dword [esp + 0x3c]
setl cl
mov byte [esp + 0x12], cl
lea ecx, [edi + esi*8 + 0x60]
mov edi, dword [edi + esi*8 + 0x60]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x3c]
mov edi, dword [ecx + 0xc]
xor ecx, ecx
mov cl, byte [edi + 0x3c]
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x418c61
mov ecx, dword [ebp]
mov ebx, dword [ebx]
mov eax, dword [eax]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x78], eax
mov eax, dword [ecx + esi*8 + 0x64]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], eax
jmp 0x418ddf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3c]
cmp eax, 1
mov ebx, dword [ecx + esi*8 + 0x70]
lea eax, [ecx + esi*8 + 0x70]
mov dword [esp + 0x68], ebx
nop
mov ecx, dword [eax + 4]
mov ebx, dword [ebp + esi*8 + 0x80]
lea eax, [ebp + esi*8 + 0x80]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ebx
mov ecx, dword [eax + 4]
mov dword [esp + 0x74], ecx
jne 0x418cac
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
jmp 0x418ddf
mov ebx, dword [ebp + esi*8 + 0x90]
mov ecx, dword [ebp + esi*8 + 0x94]
lea eax, [ebp + esi*8 + 0x90]
mov dword [esp + 0x78], ebx
mov al, byte [esp + 0x44]
mov dword [esp + 0x7c], ecx
test al, al
je 0x418ddf
test esi, esi
jne 0x418d5d
mov eax, dword [esp + 0xa8]
test eax, eax
jg 0x418cf4
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x418ddf
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xa8]
add eax, eax
sub eax, ecx
test eax, eax
jg 0x418d2a
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
add eax, eax
sub eax, ecx
mov dword [esp + 0x14], eax
test eax, eax
jle 0x418dd3
mov dword [esp + 0x80], 0
jmp 0x418dde
mov ecx, dword [0x45f5bc]
mov eax, dword [esp + 0xa8]
shl ecx, 0x10
cmp eax, ecx
jl 0x418d79
mov eax, dword [esp + 0x78]
cmp eax, ecx
jge 0x418ddf
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], ecx
mov eax, dword [esp + 0xa8]
add eax, eax
sub eax, ebx
cmp ecx, eax
jg 0x418dab
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x78]
add eax, eax
sub eax, ebx
mov dword [esp + 0x14], eax
cmp ecx, eax
jle 0x418dd3
mov dword [esp + 0x80], ecx
jmp 0x418dde
mov edi, dword [esp + 0x14]
mov dword [esp + 0x80], edi
inc edx
dec edx
mov dword [esp + 0x4c], edx
js 0x419700
lea edx, [esi + edx*2]
mov eax, dword [esp + 0x4c]
shl edx, 2
shl eax, 3
mov dword [esp + 0x5c], edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
test esi, esi
mov ecx, dword [esp + eax + 0x60]
mov edx, dword [esp + eax + 0x64]
lea eax, [esp + eax + 0x60]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x1c], eax
lea eax, [esp + ecx + 0x68]
mov dword [esp + 0x20], edx
nop
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
nop
mov ecx, dword [esp + eax + 0x9c]
mov edx, dword [esp + eax + 0x98]
lea eax, [esp + eax + 0x98]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + eax + 0x90]
mov ecx, dword [esp + eax + 0x94]
lea eax, [esp + eax + 0x90]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
jne 0x418ebf
mov eax, dword [esp + 0x1c]
test eax, eax
jge 0x418ea2
mov eax, dword [esp + 0x34]
test eax, eax
jl 0x4196d9
mov eax, dword [0x45f5bc]
mov ecx, dword [esp + 0x24]
shl eax, 0x10
cmp eax, ecx
jge 0x418eef
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jge 0x418eef
jmp 0x4196d9
mov eax, dword [0x45f5bc]
mov ecx, dword [esp + 0x1c]
shl eax, 0x10
cmp eax, ecx
jge 0x418edb
mov ecx, dword [esp + 0x34]
cmp eax, ecx
jl 0x4196d9
mov eax, dword [esp + 0x24]
test eax, eax
jge 0x418eef
mov eax, dword [esp + 0x2c]
test eax, eax
jl 0x4196d9
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x38]
cmp esi, 1
jne 0x418f79
sub edx, eax
mov ecx, dword [esp + 0x34]
sar edx, 0xc
mov eax, dword [esp + 0x2c]
sub eax, ecx
mov ebx, dword [esp + 0x38]
sar eax, 0xc
mov ecx, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
sub eax, ebx
sub ecx, ebp
sar eax, 0xc
sar ecx, 0xc
imul eax, ecx
cmp edx, eax
jl 0x418ff1
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
sub edx, eax
mov ecx, dword [esp + 0x24]
sar edx, 0xc
mov eax, dword [esp + 0x2c]
sub eax, ecx
mov ebx, dword [esp + 0x28]
sar eax, 0xc
mov ecx, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
sub eax, ebx
sub ecx, ebp
sar eax, 0xc
sar ecx, 0xc
imul eax, ecx
cmp edx, eax
jg 0x418ff1
jmp 0x4196d9
sub edx, eax
mov ecx, dword [esp + 0x34]
sar edx, 0xc
mov eax, dword [esp + 0x2c]
sub eax, ecx
mov ebx, dword [esp + 0x38]
sar eax, 0xc
mov ecx, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
sub eax, ebx
sub ecx, ebp
sar eax, 0xc
sar ecx, 0xc
imul eax, ecx
cmp edx, eax
jg 0x418ff1
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
sub edx, eax
mov ecx, dword [esp + 0x24]
sar edx, 0xc
mov eax, dword [esp + 0x2c]
sub eax, ecx
mov ebx, dword [esp + 0x28]
sar eax, 0xc
mov ecx, dword [esp + 0x1c]
imul edx, eax
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x24]
sub eax, ebx
sub ecx, ebp
sar eax, 0xc
sar ecx, 0xc
imul eax, ecx
cmp edx, eax
jge 0x4196d9
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jg 0x419019
mov eax, dword [esp + 0x28]
cmp ecx, eax
jg 0x419019
mov eax, dword [esp + 0x30]
cmp ecx, eax
jg 0x419019
mov eax, dword [esp + 0x38]
cmp ecx, eax
jle 0x4196d9
mov al, byte [esp + 0x12]
test al, al
je 0x4192b3
mov eax, dword [esp + 0x40]
cmp eax, 0x18
jge 0x4192b3
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x18]
mov ecx, 1
cmp eax, 0x3d2
jge 0x419052
xor ecx, ecx
cmp eax, 0x1d2
setl cl
add ecx, 2
mov eax, 1
add cl, 0x10
shl eax, cl
mov ecx, dword [esp + 0x4c]
push eax
lea edx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov edx, esi
call fcn.00419810
test eax, eax
jne 0x4190a3
mov ecx, dword [0x4a9904]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
nop
lea edx, [esi + edi*2]
mov eax, dword [ebx + 0xc]
mov ebp, dword [eax + edx*4 + 0x120]
lea edx, [esp + 0x1c]
mov dword [ecx + 0x30], ebp
call fcn.0044adc0
jmp 0x4196d9
mov cl, byte [esp + 0x13]
test cl, cl
je 0x4191d4
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x3c]
mov edx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov byte [esp + 0x13], 0
mov ecx, dword [edx + esi*4 + 0xe8]
add ecx, edi
mov dword [0x4b6600], ecx
mov ecx, dword [edx + esi*8 + 0xf0]
add ecx, edi
mov dword [0x4b6608], ecx
mov ecx, dword [edx + esi*8 + 0x100]
add ecx, edi
mov dword [0x4b6610], ecx
mov ecx, dword [edx + esi*8 + 0x110]
add ecx, edi
mov edi, dword [esp + 0x18]
mov dword [0x4b6618], ecx
mov edi, dword [edi + 0x14]
mov dword [0x4b6604], edi
mov ecx, dword [edx + esi*8 + 0xf4]
add ecx, edi
mov dword [0x4b660c], ecx
mov ecx, dword [edx + esi*8 + 0x104]
add ecx, edi
mov dword [0x4b6614], ecx
mov ecx, dword [edx + esi*8 + 0x114]
add ecx, edi
mov dword [0x4b661c], ecx
mov edx, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
mov ecx, dword [edx + esi*4 + 0xe8]
add ecx, edi
mov dword [0x4b65e0], ecx
mov ecx, dword [edx + esi*8 + 0xf0]
add ecx, edi
mov dword [0x4b65e8], ecx
mov ecx, dword [edx + esi*8 + 0x100]
add ecx, edi
mov dword [0x4b65f0], ecx
mov ecx, dword [edx + esi*8 + 0x110]
add ecx, edi
mov dword [0x4b65f8], ecx
mov edi, dword [ebx + 0x14]
mov dword [esp + 0x14], edi
mov dword [0x4b65e4], edi
mov ecx, dword [edx + esi*8 + 0xf4]
add ecx, edi
mov dword [0x4b65ec], ecx
mov ecx, dword [edx + esi*8 + 0x104]
add ecx, edi
mov dword [0x4b65f4], ecx
mov ecx, dword [edx + esi*8 + 0x114]
add ecx, edi
mov edx, dword [esp + 0x50]
mov dword [0x4b65fc], ecx
mov dword [esp + 0xc0], edx
mov ecx, dword [ebx + 0x18]
lea edx, [esp + 0x1c]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xe8], edx
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
add ecx, 0x4b65e0
mov dword [esp + 0xe4], eax
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc4], edx
add ecx, 0x4b65e8
mov dword [esp + 0xc8], ebx
mov byte [esp + 0xec], 0
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xcc], edx
add ecx, 0x4b6608
mov dword [esp + 0xd0], ebx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xd4], edx
add ecx, 0x4b6600
mov dword [esp + 0xd8], ebx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
xor ecx, ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], ebx
cmp ebp, 2
setg cl
xor edx, edx
cmp esi, 1
sete dl
cmp ecx, edx
mov ecx, dword [eax]
je 0x41927f
and ecx, 0xfffcffff
or ecx, 0x40000
jmp 0x41928b
and ecx, 0xfffaffff
or ecx, 0x20000
mov edi, dword [esp + 0x18]
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [edi + 0xc]
mov ebx, dword [edx + ecx + 0x120]
lea ecx, [esp + 0xb8]
mov dword [eax + 0x30], ebx
call fcn.00446580
jmp 0x4196d9
mov eax, dword [esp + 0x40]
cmp eax, 0x10
jle 0x41930c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x14], 2
jmp 0x419314
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
mov al, byte [0x460798]
test al, al
je 0x41966f
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
sub edx, eax
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
test edx, edx
jle 0x419352
test ecx, ecx
jle 0x419347
xor eax, eax
cmp ecx, edx
setg al
add eax, 2
jmp 0x41936e
neg ecx
xor eax, eax
cmp ecx, edx
setle al
jmp 0x41936e
test ecx, ecx
jle 0x419364
neg edx
xor eax, eax
cmp edx, ecx
setge al
add eax, 4
jmp 0x41936e
xor eax, eax
cmp ecx, edx
setl al
add eax, 6
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
sub edi, ecx
mov edx, dword [esp + 0x30]
sub edx, dword [esp + 0x28]
test edi, edi
jle 0x41939f
test edx, edx
jle 0x419394
xor ecx, ecx
cmp edx, edi
setg cl
add ecx, 2
jmp 0x4193bb
neg edx
xor ecx, ecx
cmp edx, edi
setle cl
jmp 0x4193bb
test edx, edx
jle 0x4193b1
neg edi
xor ecx, ecx
cmp edi, edx
setge cl
add ecx, 4
jmp 0x4193bb
xor ecx, ecx
cmp edx, edi
setl cl
add ecx, 6
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
sub ebx, edx
mov edi, dword [esp + 0x38]
sub edi, dword [esp + 0x30]
test ebx, ebx
jle 0x4193ec
test edi, edi
jle 0x4193e1
xor edx, edx
cmp edi, ebx
setg dl
add edx, 2
jmp 0x419408
neg edi
xor edx, edx
cmp edi, ebx
setle dl
jmp 0x419408
test edi, edi
jle 0x4193fe
neg ebx
xor edx, edx
cmp ebx, edi
setge dl
add edx, 4
jmp 0x419408
xor edx, edx
cmp edi, ebx
setl dl
add edx, 6
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
sub edi, ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x20]
sub edi, ebp
mov ebx, dword [esp + 0x44]
test ebx, ebx
jle 0x41944b
test edi, edi
jle 0x41943c
xor ebx, ebx
mov ebp, dword [esp + 0x44]
cmp edi, ebp
setg bl
add ebx, 2
jmp 0x41946f
xor ebx, ebx
mov ebp, dword [esp + 0x44]
neg edi
cmp edi, ebp
setle bl
jmp 0x41946f
test edi, edi
jle 0x419461
mov ebp, dword [esp + 0x44]
xor ebx, ebx
neg ebp
cmp ebp, edi
setge bl
add ebx, 4
jmp 0x41946f
xor ebx, ebx
mov ebp, dword [esp + 0x44]
cmp edi, ebp
setl bl
add ebx, 6
mov edi, dword [esp + 0x58]
mov ebp, edi
xor ebp, edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x58], ebp
cmp edi, 2
setg byte [esp + 0x58]
mov ebp, dword [esp + 0x54]
mov edi, ebp
xor edi, ebp
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x54], edi
cmp esi, 1
sete byte [esp + 0x54]
cmp ebp, dword [esp + 0x54]
lea edi, [ebx + 4]
je 0x419590
and edi, 7
cmp eax, edi
je 0x4194dd
jg 0x4194bf
add edi, eax
add edi, 8
and edi, 0xf
jmp 0x4194c1
add edi, eax
mov ebp, dword [edi*8 + 0x460718]
mov edi, dword [edi*8 + 0x46071c]
add dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
add ebp, edi
mov dword [esp + 0x20], ebp
add eax, 4
and eax, 7
cmp ecx, eax
je 0x419517
jg 0x4194f3
add eax, ecx
add eax, 8
and eax, 0xf
jmp 0x4194f5
add eax, ecx
mov edi, dword [eax*8 + 0x460718]
mov ebp, dword [esp + 0x24]
add ebp, edi
mov eax, dword [eax*8 + 0x46071c]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x28]
add ebp, eax
mov dword [esp + 0x28], ebp
add ecx, 4
and ecx, 7
cmp ecx, edx
je 0x419551
lea eax, [edx + ecx]
jl 0x41952f
lea eax, [edx + ecx]
add eax, 8
and eax, 0xf
mov ecx, dword [eax*8 + 0x460718]
mov ebp, dword [esp + 0x2c]
add ebp, ecx
mov eax, dword [eax*8 + 0x46071c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], ebp
add edi, eax
mov dword [esp + 0x30], edi
add edx, 4
and edx, 7
cmp edx, ebx
je 0x41966f
lea eax, [ebx + edx]
jl 0x41956d
lea eax, [ebx + edx]
add eax, 8
and eax, 0xf
mov ecx, dword [eax*8 + 0x460718]
mov edx, dword [esp + 0x34]
add edx, ecx
mov eax, dword [eax*8 + 0x46071c]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x34], edx
add ebx, eax
jmp 0x41966b
and edi, 7
cmp eax, edi
je 0x4195c1
jl 0x4195a3
add edi, eax
add edi, 8
and edi, 0xf
jmp 0x4195a5
add edi, eax
mov ebp, dword [edi*8 + 0x460718]
mov edi, dword [edi*8 + 0x46071c]
add dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
add ebp, edi
mov dword [esp + 0x20], ebp
add eax, 4
and eax, 7
cmp ecx, eax
je 0x4195fb
jl 0x4195d7
add eax, ecx
add eax, 8
and eax, 0xf
jmp 0x4195d9
add eax, ecx
mov edi, dword [eax*8 + 0x460718]
mov ebp, dword [esp + 0x24]
add ebp, edi
mov eax, dword [eax*8 + 0x46071c]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x28]
add ebp, eax
mov dword [esp + 0x28], ebp
add ecx, 4
and ecx, 7
cmp ecx, edx
je 0x419635
jg 0x419611
add ecx, edx
add ecx, 8
and ecx, 0xf
jmp 0x419613
add ecx, edx
mov eax, dword [ecx*8 + 0x460718]
mov ebp, dword [esp + 0x2c]
add ebp, eax
mov ecx, dword [ecx*8 + 0x46071c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], ebp
add edi, ecx
mov dword [esp + 0x30], edi
add edx, 4
and edx, 7
cmp edx, ebx
je 0x41966f
jg 0x41964b
add edx, ebx
add edx, 8
and edx, 0xf
jmp 0x41964d
add edx, ebx
mov eax, dword [edx*8 + 0x460718]
mov ecx, dword [esp + 0x34]
add ecx, eax
mov edx, dword [edx*8 + 0x46071c]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
add ebx, edx
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push edi
mov edx, esi
mov ecx, dword [esp + 0x1c]
push eax
call fcn.00419710
mov ebx, dword [esp + 0x18]
mov ecx, eax
lea edx, [esi + edi*2]
mov eax, dword [ebx + 0xc]
mov edx, dword [eax + edx*4 + 0x120]
mov dword [ecx + 0x30], edx
lea edx, [esp + 0x1c]
call fcn.0044adc0
xor edx, edx
mov ecx, dword [esp + 0x4c]
cmp ecx, 2
setg dl
xor ecx, ecx
cmp esi, 1
sete cl
cmp edx, ecx
mov ecx, dword [eax]
je 0x4196cb
and ecx, 0xfffcffff
or ecx, 0x40000
jmp 0x4196d7
and ecx, 0xfffaffff
or ecx, 0x20000
mov dword [eax], ecx
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
sub eax, 8
sub ecx, 8
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x5c], eax
dec edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x4c], edx
test ecx, ecx
jge 0x418dff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0xe0
ret 4