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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff17c
mov ebx, ecx
mov byte [esp], dl
mov edi, eax
mov byte [esp + 1], 0
cmp dword [ebx + 0xcd8], 0
jne 0x4e7688
cmp dword [ebx + 0xce0], 0
je 0x4e7688
lea edx, [esp + 0x680]
mov eax, dword [ebx + 0xce0]
mov ecx, 0x3ff
call fcn.00442d3c
push 0x424
push 0xc0002
push 0
lea edx, [esp + 0x68c]
xor ecx, ecx
mov eax, edi
call fcn.0043e188
jmp 0x4e81df
cmp byte [esp], 0
jne 0x4e76a4
mov ecx, 0x80002
mov edx, 0x424
mov eax, edi
call fcn.0043e1d4
jmp 0x4e81df
cmp dword [ebx + 0x24], 0
jne 0x4e76ae
cmp dword [ebx + 0x20], 0
je 0x4e76be
cmp word [ebx + 0x18], 0
je 0x4e76be
cmp word [ebx + 0x1a], 0
jne 0x4e76c2
mov al, 1
jmp 0x4e771e
mov eax, dword [ebx + 0x1c]
test eax, eax
jbe 0x4e771c
cmp eax, 0x10000
ja 0x4e771c
mov esi, eax
mov eax, esi
xor edx, edx
push edx
push eax
xor eax, eax
mov edx, 0x7fff0000
call fcn.00405210
mov dword [esp + 0xc], eax
mov eax, esi
xor edx, edx
push edx
push eax
xor eax, eax
mov edx, 0x7fff0000
call fcn.0040517c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
cmp edx, dword [esp + 0x24]
jne 0x4e7717
cmp eax, dword [esp + 0x20]
seta al
jmp 0x4e771e
setg al
jmp 0x4e771e
xor eax, eax
test al, al
je 0x4e77b1
cmp dword [ebx + 0x24], 0
jne 0x4e7773
cmp dword [ebx + 0x20], 0
jne 0x4e7773
cmp dword [ebx + 0xce0], 0
je 0x4e7773
lea edx, [esp + 0x680]
mov eax, dword [ebx + 0xce0]
mov ecx, 0x3ff
call fcn.00442d3c
push 0x424
push 0xc0002
push 0
lea edx, [esp + 0x68c]
xor ecx, ecx
mov eax, edi
call fcn.0043e188
jmp 0x4e81df
cmp dword [ebx + 0xcb0], 0
jne 0x4e779b
cmp dword [ebx + 0xcac], 0
jne 0x4e779b
mov ecx, 0x80002
mov edx, 0x424
mov eax, edi
call fcn.0043e1d4
jmp 0x4e81df
mov ecx, 0x80002
mov edx, 0x41f
mov eax, edi
call fcn.0043e1d4
jmp 0x4e81df
mov eax, dword [ebx + 0x1c]
cmp eax, 0x10000
ja 0x4e77bf
test eax, eax
ja 0x4e77d5
mov ecx, 2
mov edx, 0x420
mov eax, edi
call fcn.0043e1d4
jmp 0x4e81df
mov eax, ebx
call fcn.0048f6a8
test al, al
je 0x4e77e9
cmp dword [ebx + 0x1c], 0x800
jne 0x4e7807
cmp dword [ebx + 0x1c], 0x80
jb 0x4e7807
cmp dword [ebx + 0x1c], 0x10000
ja 0x4e7807
mov eax, dword [ebx + 0x1c]
call fcn.00411328
test al, al
jne 0x4e7821
mov ecx, 0x300
mov edx, 0x42b
mov eax, edi
call fcn.0043e1d4
cmp eax, 6
jne 0x4e81df
movzx eax, word [ebx + 0x1a]
xor edx, edx
push edx
push eax
movzx eax, word [ebx + 0x18]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
call fcn.00405158
call fcn.00405158
cmp edx, dword [ebx + 0x24]
jne 0x4e784d
cmp eax, dword [ebx + 0x20]
jbe 0x4e789f
jmp 0x4e784f
jle 0x4e789f
mov ecx, 0x300
mov edx, 0x421
mov eax, edi
call fcn.0043e1d4
cmp eax, 6
jne 0x4e81df
movzx eax, word [ebx + 0x1a]
xor edx, edx
push edx
push eax
movzx eax, word [ebx + 0x18]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
call fcn.00405158
call fcn.00405158
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x24], eax
mov eax, ebx
call fcn.004670cc
test al, al
je 0x4e78ea
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xcb4]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e78e2
cmp eax, dword [esp]
pop edx
pop eax
je 0x4e800e
cmp dword [ebx + 0xd0c], 0
jne 0x4e78fa
cmp dword [ebx + 0xd08], 0
je 0x4e791d
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
cmp edx, dword [esp + 4]
jne 0x4e7919
cmp eax, dword [esp]
pop edx
pop eax
jne 0x4e796b
mov ecx, dword [ebx + 0xd10]
test ecx, ecx
je 0x4e792c
cmp ecx, dword [ebx + 0x1c]
jne 0x4e796b
cmp dword [ebx + 0xcb0], 0
jne 0x4e793c
cmp dword [ebx + 0xcac], 0
je 0x4e7954
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
cmp edx, dword [ebx + 0xcb0]
jne 0x4e796b
cmp eax, dword [ebx + 0xcac]
jne 0x4e796b
mov esi, dword [ebx + 0xcb4]
test esi, esi
je 0x4e800e
cmp esi, dword [ebx + 0x1c]
je 0x4e800e
lea eax, [esp + 0x638]
mov edx, dword [ebx + 0xd08]
mov dword [eax], edx
mov edx, dword [ebx + 0xd0c]
mov dword [eax + 4], edx
mov esi, dword [ebx + 0xd10]
mov dword [esp + 0x640], esi
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
call fcn.00405158
lea ecx, [esp + 0x644]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea eax, [esp + 0x64c]
mov edx, dword [ebx + 0xcac]
mov dword [eax], edx
mov edx, dword [ebx + 0xcb0]
mov dword [eax + 4], edx
mov esi, dword [ebx + 0xcb4]
mov dword [esp + 0x654], esi
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
call fcn.00405158
lea ecx, [esp + 0x658]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea eax, [esp + 0x660]
mov edx, dword [ebx + 0x20]
mov dword [eax], edx
mov edx, dword [ebx + 0x24]
mov dword [eax + 4], edx
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x668], esi
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
lea ecx, [esp + 0x66c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
xor ebp, ebp
lea eax, [esp + 0x48]
xor ecx, ecx
mov edx, 0x5f0
call fcn.004032f4
xor esi, esi
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0x3ec
mov word [esp + eax*8 + 0x7c], 0x1002
xor edx, edx
mov dword [esp + eax*8 + 0x78], edx
mov dword [esp + eax*8 + 0x54], 0xe
inc esi
mov byte [esp + 0x10], 0
mov byte [esp + 0x11], 0
mov byte [esp + 0x12], 0
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xd10]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7ab6
cmp eax, dword [esp]
pop edx
pop eax
ja 0x4e7b04
jmp 0x4e7aba
pop edx
pop eax
jg 0x4e7b04
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xcb4]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7afc
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4e7bf7
jmp 0x4e7b04
pop edx
pop eax
jle 0x4e7bf7
test ebp, ebp
jne 0x4e7b21
lea eax, [esp + 0x680]
imul edx, esi, 0x13
mov dword [esp + edx*8 + 0x48], eax
imul eax, esi, 0x13
mov byte [esp + eax*8 + 0x4c], 1
inc esi
jmp 0x4e7b3b
mov ecx, 0x3ff
sub ecx, ebp
mov edx, 0x4e81f0
lea eax, [esp + ebp*2 + 0x680]
call fcn.00414414
add ebp, eax
mov ecx, 0x3ff
sub ecx, ebp
lea eax, [esp + ebp*2 + 0x680]
mov dx, 0xbb9
call fcn.0045c538
add ebp, eax
cmp byte [ebx + 0xe60], 0
je 0x4e7bed
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xcb4]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7b99
cmp eax, dword [esp]
pop edx
pop eax
jne 0x4e7bed
mov eax, dword [ebx + 0xd10]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
call fcn.00405158
push edx
push eax
call fcn.004e7470
push edx
push eax
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7be2
cmp eax, dword [esp]
pop edx
pop eax
jb 0x4e7bed
jmp 0x4e7be6
pop edx
pop eax
jl 0x4e7bed
mov byte [esp + 0x10], 1
jmp 0x4e7bf7
mov byte [esp + 0x11], 1
mov byte [esp + 0x12], 1
mov eax, dword [ebx + 0x1c]
cmp eax, dword [ebx + 0xcb4]
je 0x4e7c11
mov eax, ebx
call fcn.004670cc
test al, al
je 0x4e7d02
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xcb4]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7c53
cmp eax, dword [esp]
pop edx
pop eax
jb 0x4e7d02
jmp 0x4e7c5b
pop edx
pop eax
jl 0x4e7d02
cmp dword [ebx + 0xd10], 0
je 0x4e7cb8
cmp dword [ebx + 0xd0c], 0
jne 0x4e7c74
cmp dword [ebx + 0xd08], 0
je 0x4e7cb8
mov eax, dword [ebx + 0x1c]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
call fcn.00405158
push edx
push eax
mov eax, dword [ebx + 0xd10]
xor edx, edx
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
call fcn.00405158
cmp edx, dword [esp + 4]
jne 0x4e7cb4
cmp eax, dword [esp]
pop edx
pop eax
jb 0x4e7d02
jmp 0x4e7cb8
pop edx
pop eax
jl 0x4e7d02
cmp dword [ebx + 0xd10], 0
jne 0x4e7d5c
cmp dword [ebx + 0xd0c], 0
jne 0x4e7cd5
cmp dword [ebx + 0xd08], 0
je 0x4e7d5c
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
push edx
push eax
mov eax, dword [ebx + 0xd08]
mov edx, dword [ebx + 0xd0c]
cmp edx, dword [esp + 4]
jne 0x4e7cfe
cmp eax, dword [esp]
pop edx
pop eax
jae 0x4e7d5c
jmp 0x4e7d02
pop edx
pop eax
jge 0x4e7d5c
test ebp, ebp
jne 0x4e7d1f
lea eax, [esp + 0x680]
imul edx, esi, 0x13
mov dword [esp + edx*8 + 0x48], eax
imul eax, esi, 0x13
mov byte [esp + eax*8 + 0x4c], 1
inc esi
jmp 0x4e7d39
mov ecx, 0x3ff
sub ecx, ebp
mov edx, 0x4e81f0
lea eax, [esp + ebp*2 + 0x680]
call fcn.00414414
add ebp, eax
mov ecx, 0x3ff
sub ecx, ebp
lea eax, [esp + ebp*2 + 0x680]
mov dx, 0xbba
call fcn.0045c538
add ebp, eax
mov byte [esp + 0x11], 1
jmp 0x4e7de0
cmp dword [ebx + 0xd10], 0
je 0x4e7de0
mov eax, ebx
call fcn.004670cc
test al, al
jne 0x4e7de0
mov eax, dword [ebx + 0x1c]
cmp eax, dword [ebx + 0xd10]
je 0x4e7de0
test ebp, ebp
jne 0x4e7d98
lea eax, [esp + 0x680]
imul edx, esi, 0x13
mov dword [esp + edx*8 + 0x48], eax
imul eax, esi, 0x13
mov byte [esp + eax*8 + 0x4c], 1
inc esi
jmp 0x4e7db2
mov ecx, 0x3ff
sub ecx, ebp
mov edx, 0x4e81f0
lea eax, [esp + ebp*2 + 0x680]
call fcn.00414414
add ebp, eax
mov ecx, 0x3ff
sub ecx, ebp
lea eax, [esp + ebp*2 + 0x680]
mov dx, 0xbba
call fcn.0045c538
add ebp, eax
cmp byte [ebx + 0xe60], 0
je 0x4e7ddb
mov byte [esp + 0x10], 1
jmp 0x4e7de0
mov byte [esp + 0x11], 1
mov byte [esp + 0x13], 0
cmp dword [ebx + 0xcb0], 0
jne 0x4e7df5
cmp dword [ebx + 0xcac], 0
je 0x4e7e18
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x24]
push edx
push eax
mov eax, dword [ebx + 0xcac]
mov edx, dword [ebx + 0xcb0]
cmp edx, dword [esp + 4]
jne 0x4e7e14
cmp eax, dword [esp]
pop edx
pop eax
jne 0x4e7e2c
cmp dword [ebx + 0xcb4], 0
je 0x4e7e86
mov eax, dword [ebx + 0xcb4]
cmp eax, dword [ebx + 0x1c]
je 0x4e7e86
test ebp, ebp
jne 0x4e7e49
lea eax, [esp + 0x680]
imul edx, esi, 0x13
mov dword [esp + edx*8 + 0x48], eax
imul eax, esi, 0x13
mov byte [esp + eax*8 + 0x4c], 1
inc esi
jmp 0x4e7e63
mov ecx, 0x3ff
sub ecx, ebp
mov edx, 0x4e81f0
lea eax, [esp + ebp*2 + 0x680]
call fcn.00414414
add ebp, eax
mov ecx, 0x3ff
sub ecx, ebp
lea eax, [esp + ebp*2 + 0x680]
mov dx, 0x428
call fcn.0045c538
mov byte [esp + 0x13], 1
mov ebp, 0x311
jmp 0x4e7eea
cmp byte [esp + 0x10], 0
je 0x4e7edb
test ebp, ebp
jne 0x4e7eaa
lea eax, [esp + 0x680]
imul edx, esi, 0x13
mov dword [esp + edx*8 + 0x48], eax
imul eax, esi, 0x13
mov byte [esp + eax*8 + 0x4c], 1
inc esi
jmp 0x4e7ec4
mov ecx, 0x3ff
sub ecx, ebp
mov edx, 0x4e81f0
lea eax, [esp + ebp*2 + 0x680]
call fcn.00414414
add ebp, eax
mov ecx, 0x3ff
sub ecx, ebp
lea eax, [esp + ebp*2 + 0x680]
mov dx, 0xbbc
call fcn.0045c538
mov ebp, 0x400
cmp byte [esp + 0x11], 0
je 0x4e7eea
or ebp, 1
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0x3ec
inc esi
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0xbc0
mov edx, 0x4e81f4
mov dword [esp + eax*8 + 0x54], edx
mov dword [esp + eax*8 + 0x58], 0x28
mov dword [esp + eax*8 + 0x60], 0x30
mov dword [esp + eax*8 + 0x64], 0x14
mov dword [esp + eax*8 + 0x78], 0x82
xor eax, eax
mov dword [esp + 4], eax
cmp dword [ebx + 0xd0c], 0
jne 0x4e7f58
cmp dword [ebx + 0xd08], 0
jne 0x4e7f58
cmp dword [ebx + 0xd10], 0
jne 0x4e7f58
lea eax, [esp + 0x64c]
mov dword [esp + 8], eax
jmp 0x4e7f82
lea eax, [esp + 0x638]
mov dword [esp + 8], eax
add dword [esp + 4], 0x14
inc esi
imul eax, esi, 0x13
imul edx, esi, 0x13
push esi
push edi
lea esi, [esp + eax*8 - 0x48]
lea edi, [esp + edx*8 + 0x50]
mov ecx, 0x26
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0xbc1
add dword [esp + 4], 0x14
inc esi
imul eax, esi, 0x13
imul edx, esi, 0x13
push esi
push edi
lea esi, [esp + eax*8 - 0x48]
lea edi, [esp + edx*8 + 0x50]
mov ecx, 0x26
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0xbc2
add dword [esp + 4], 0x14
inc esi
cmp byte [esp + 0x13], 0
je 0x4e7fd0
imul eax, esi, 0x13
mov dword [esp + eax*8 + 0x48], 0xbbb
inc esi
test ebp, 1
jne 0x4e7fdb
or ebp, 4
push esi
mov eax, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0xc]
push eax
lea ecx, [esp + 0x54]
mov edx, ebp
or edx, 0
mov eax, edi
call fcn.00441e30
test ebp, 0x300
je 0x4e800e
cmp ax, 6
je 0x4e800e
cmp ax, 1
jne 0x4e81df
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x2c], eax
movzx esi, word [ebx + 0x18]
movzx eax, word [ebx + 0x1a]
imul esi, eax
cmp dword [esp + 0x2c], 0
jne 0x4e8037
cmp dword [esp + 0x28], 0
jae 0x4e8096
jmp 0x4e8039
jge 0x4e8096
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
neg eax
adc edx, 0
neg edx
call fcn.00405210
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
jbe 0x4e8068
mov eax, esi
sub eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
push edx
push eax
mov eax, dword [esp + 0x1c]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
call fcn.0040517c
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
jmp 0x4e80c8
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
call fcn.00405210
mov dword [esp + 0xc], eax
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
call fcn.0040517c
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
cmp edx, dword [esp + 0x34]
jne 0x4e80e0
cmp eax, dword [esp + 0x30]
jae 0x4e81da
jmp 0x4e80e6
jge 0x4e81da
cmp dword [ebx + 0xc], 0
je 0x4e8112
cmp dword [ebx + 0x14], 0
jne 0x4e80f6
cmp dword [ebx + 0x10], 0
je 0x4e8112
mov ecx, 0x300
mov edx, 0x422
mov eax, edi
call fcn.0043e1d4
cmp eax, 6
jne 0x4e81da
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 0x3c], eax
movzx esi, word [ebx + 0x18]
movzx eax, word [ebx + 0x1a]
imul esi, eax
cmp dword [esp + 0x3c], 0
jne 0x4e813b
cmp dword [esp + 0x38], 0
jae 0x4e819a
jmp 0x4e813d
jge 0x4e819a
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
neg eax
adc edx, 0
neg edx
call fcn.00405210
mov dword [esp + 0xc], eax
cmp dword [esp + 0xc], 0
jbe 0x4e816c
mov eax, esi
sub eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
push edx
push eax
mov eax, dword [esp + 0x1c]
xor edx, edx
sub dword [esp], eax
sbb dword [esp + 4], edx
pop eax
pop edx
call fcn.0040517c
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
jmp 0x4e81cc
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
call fcn.00405210
mov dword [esp + 0xc], eax
mov eax, esi
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
call fcn.0040517c
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x14], eax
mov byte [esp + 1], 1
movzx eax, byte [esp + 1]
add esp, 0xe84
pop ebp
pop edi
pop esi
pop ebx