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

Disassembly:
sub esp, 0x614
mov eax, dword [0x48268c]
xor eax, esp
mov dword [esp + 0x610], eax
push ebp
push esi
push edi
mov ebp, ecx
xor esi, esi
call fcn.0041db3d
mov eax, dword [eax + 4]
mov edi, dword [eax + 0x9a4]
test edi, edi
je 0x417b05
cmp dword [edi + 4], esi
je 0x417b05
mov eax, dword [edi + 8]
cmp byte [eax + 4], 1
jne 0x416e7c
push 0x100
lea ecx, [esp + 0x120]
push esi
push ecx
call fcn.004489f0
push 0x100
lea edx, [esp + 0x2c]
push esi
push edx
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2a8
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov eax, dword [edi + 8]
movzx edx, byte [eax + 0xa]
movzx ecx, byte [eax + 9]
push edx
movzx edx, byte [eax + 8]
push ecx
movzx ecx, byte [eax + 7]
push edx
movzx edx, byte [eax + 6]
movzx eax, byte [eax + 5]
push ecx
push edx
push eax
lea ecx, [esp + 0x34]
push str._02X:_02X:_02X:_02X:_02X:_02X
push ecx
call fcn.00449bb4
add esp, 0x20
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0xb], 1
jne 0x4170e7
push ebx
push 0x100
lea edx, [esp + 0x124]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x30]
push 0
push eax
call fcn.004489f0
push 0x100
lea ecx, [esp + 0x43c]
push 0
push ecx
call fcn.004489f0
push 0x100
lea edx, [esp + 0x348]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x254]
push 0
push eax
call fcn.004489f0
push 0x100
lea ecx, [esp + 0x560]
push 0
push ecx
call fcn.004489f0
add esp, 0x48
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea edx, [esp + 0x124]
push edx
push 0x2a9
lea ecx, [eax + 0x9f4]
call fcn.004018b0
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x524]
push ecx
push 0x32e
lea ecx, [eax + 0x9f4]
call fcn.004018b0
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea edx, [esp + 0x424]
push edx
push 0x32b
lea ecx, [eax + 0x9f4]
call fcn.004018b0
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x324]
push ecx
push 0x32c
lea ecx, [eax + 0x9f4]
call fcn.004018b0
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea edx, [esp + 0x224]
push edx
push 0x32d
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov eax, dword [edi + 8]
mov ecx, dword [eax + 0xc]
mov eax, 0xc22e4507
mul ecx
shr edx, 0x10
mov ebx, edx
mov dword [esp + 0x1c], edx
imul ebx, ebx, 0x15180
mov edx, ecx
sub edx, ebx
mov eax, 0x91a2b3c5
mul edx
shr edx, 0xb
mov dword [esp + 0x10], edx
imul edx, edx, 0xe10
mov eax, ecx
sub eax, edx
sub eax, ebx
mov dword [esp + 0x18], edx
mov edx, eax
mov eax, 0x88888889
mul edx
shr edx, 5
mov eax, edx
shl eax, 4
sub eax, edx
add eax, eax
add eax, eax
sub ecx, eax
sub ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
sub ecx, ebx
test eax, eax
jle 0x41705c
lea ebx, [esp + 0x220]
push ebx
push ecx
lea ecx, [esp + 0x328]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
lea edx, [esp + 0x430]
push edx
push ecx
lea edx, [esp + 0x538]
push edx
push eax
lea eax, [esp + 0x40]
push str._d__s__d__s__d__s__d__s
push eax
call fcn.00449bb4
add esp, 0x28
jmp 0x4170cf
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x417093
lea ebx, [esp + 0x220]
push ebx
push ecx
lea ecx, [esp + 0x328]
push ecx
push edx
lea edx, [esp + 0x430]
push edx
push eax
lea eax, [esp + 0x38]
push str._d__s__d__s__d__s
push eax
call fcn.00449bb4
add esp, 0x20
jmp 0x4170cf
test edx, edx
lea eax, [esp + 0x220]
push eax
push ecx
jle 0x4170bd
lea ecx, [esp + 0x328]
push ecx
push edx
lea edx, [esp + 0x30]
push str._d__s__d__s
push edx
call fcn.00449bb4
add esp, 0x18
jmp 0x4170cf
lea ecx, [esp + 0x28]
push str._d__s
push ecx
call fcn.00449bb4
add esp, 0x10
push esi
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x128]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
pop ebx
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x10], 1
jne 0x41716d
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2aa
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x14]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x20], 1
jne 0x4171f3
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2ab
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x24]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x30], 1
jne 0x417279
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2ac
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x34]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x18], 1
jne 0x4172ff
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2ad
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x1c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x28], 1
jne 0x417385
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2ae
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x2c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x38], 1
jne 0x41740b
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2af
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x3c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x40], 1
jne 0x417491
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b0
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x44]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x48], 1
jne 0x417517
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b1
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x4c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x50], 1
jne 0x41759d
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b2
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x54]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x58], 1
jne 0x417623
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b3
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x5c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x60], 1
jne 0x4176a9
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b4
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x64]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x68], 1
jne 0x41772f
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b5
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x6c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x70], 1
jne 0x4177b5
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b6
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x74]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x78], 1
jne 0x41783b
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b7
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x7c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x80], 1
jne 0x4178cb
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b8
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x84]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x90], 1
jne 0x41795b
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2b9
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x94]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x88], 1
jne 0x4179eb
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2ba
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x8c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0x98], 1
jne 0x417a7b
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2bb
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x9c]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov esi, eax
mov ecx, dword [edi + 8]
cmp byte [ecx + 0xa0], 1
jne 0x417b05
push 0x100
lea edx, [esp + 0x120]
push 0
push edx
call fcn.004489f0
push 0x100
lea eax, [esp + 0x2c]
push 0
push eax
call fcn.004489f0
add esp, 0x18
call fcn.0041db3d
mov eax, dword [eax + 4]
push 0x100
lea ecx, [esp + 0x120]
push ecx
push 0x2bc
lea ecx, [eax + 0x9f4]
call fcn.004018b0
mov edx, dword [edi + 8]
mov eax, dword [edx + 0xa4]
push eax
lea ecx, [esp + 0x20]
push 0x467c64
push ecx
call fcn.00449bb4
add esp, 0xc
push esi
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x124]
push eax
mov ecx, ebp
call fcn.00412b00
mov ecx, dword [esp + 0x61c]
pop edi
pop esi
pop ebp
xor ecx, esp
call fcn.004489d9
add esp, 0x614
ret