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

Disassembly:
push ebp
mov ecx, eax
push edi
push esi
push ebx
sub esp, 0x3f4
mov edi, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x20]
mov esi, dword [ecx + 0x24]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x118], edx
mov eax, dword [eax]
mov edx, dword [ecx + 4]
mov dword [esp + 0x108], edi
mov dword [esp + 0xe8], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0xec], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov dword [esp + 0x3b0], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x3b4], edx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x3b8], edi
mov dword [esp + 0x3bc], ebp
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
mov dword [esp + 0x3c0], eax
mov dword [esp + 0x3c4], edx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], esi
mov edx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x30]
mov esi, dword [ecx + 0x2c]
mov dword [esp + 0xe4], edx
mov ebx, dword [ecx + 0x28]
mov dword [esp + 0x3dc], edx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0xe0], eax
mov ecx, dword [ecx + 0x3c]
mov dword [esp + 0x100], edx
mov dword [esp + 0x3e0], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x3d8], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x3e4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x114], esi
mov dword [esp + 0x3d4], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x3d0], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa8], edi
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0xcc], edi
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0xb4], ecx
mov ecx, eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xc8], edx
mov edi, dword [esp + 0xfc]
mov dword [esp + 0x90], esi
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0xac], ebp
mov dword [esp + 0x28], ebp
lea ebp, [esp + 0x3a8]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x38], ebp
mov ebp, eax
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x34], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0xd0], ecx
jmp 0x41389d
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov eax, dword [esp]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x118]
mov esi, dword [esp + 0x14]
mov ebx, dword [eax + ebp*8]
mov ecx, dword [eax + ebp*8 + 4]
mov eax, dword [esp + 0x38]
bswap ebx
mov ebp, ebx
mov ebx, dword [esp + 0x10]
bswap ecx
mov edi, ecx
mov ecx, dword [esp + 8]
mov dword [eax + 4], esi
mov esi, eax
mov dword [eax], ebx
mov ebx, dword [esp + 0xc]
mov edx, ebp
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ebx
mov eax, edi
mov dword [esi + 0x40], edi
mov edi, ecx
shrd ecx, ebx, 0xe
mov dword [esp], ecx
shrd ebx, edi, 0xe
mov ecx, dword [esp + 8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xc]
mov edi, ecx
mov dword [esi + 0x44], ebp
mov ebp, dword [esp + 4]
shrd ecx, ebx, 0x12
shrd ebx, edi, 0x12
mov edi, dword [esp]
xor ebp, ebx
mov ebx, dword [esp + 0xc]
mov esi, edi
xor esi, ecx
mov ecx, dword [esp + 8]
mov dword [esp], esi
mov edi, dword [esp]
mov esi, ebp
mov ebp, ecx
shld ecx, ebx, 0x17
xor edi, ecx
shld ebx, ebp, 0x17
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x40], edi
mov edi, esi
xor edi, ebx
add eax, dword [esp + 0xb8]
adc edx, dword [esp + 0xbc]
mov dword [esp + 0x44], edi
mov ecx, eax
mov ebx, edx
add ecx, dword [ebp*8 + 0x42c900]
adc ebx, dword [ebp*8 + 0x42c904]
mov eax, dword [esp + 8]
mov esi, dword [esp + 0xd0]
add ecx, dword [esp + 0x40]
mov edi, eax
adc ebx, dword [esp + 0x44]
mov edx, dword [esp + 0xc]
not edi
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x90]
and esi, edi
mov edi, dword [esp + 0xd4]
and eax, dword [esp + 0xc]
not edx
and edx, dword [esp + 0xc8]
and ebp, edi
xor edx, eax
mov eax, ecx
mov ecx, dword [esp + 0xb0]
xor esi, ebp
mov dword [esp + 0x7c], edx
mov edx, ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x78], esi
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
add ecx, eax
mov esi, dword [esp + 0x14]
mov dword [esp + 0xb0], eax
adc ebx, edx
mov dword [esp + 0xb4], edx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp], ecx
mov ecx, esi
mov edx, ebx
shrd ecx, ebx, 0x1c
mov ebp, ebx
shrd edx, esi, 0x1c
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, esi
shld ebx, ebp, 0x1e
mov dword [esp + 0xbc], edx
shld ecx, esi, 0x1e
mov edx, eax
mov ebp, dword [esp + 0xbc]
xor edx, ecx
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
xor ebp, ebx
mov ebx, dword [esp + 0x14]
mov esi, ebp
mov ebp, ecx
shld ecx, ebx, 0x19
shld ebx, ebp, 0x19
xor edx, ecx
mov ecx, eax
mov dword [esp + 0x80], edx
mov edx, esi
xor edx, ebx
mov dword [esp + 0x84], edx
mov ebp, dword [esp + 0xcc]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xd0], edi
xor ecx, ebp
and ebp, eax
xor edx, dword [esp + 0x28]
and edx, dword [esp + 0x14]
and ecx, ebx
mov esi, ebp
mov dword [esp + 0xcc], eax
mov ebp, dword [esp + 0x28]
xor ecx, esi
and ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x88], ecx
mov ecx, edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xa8]
xor ecx, ebp
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xc8], edi
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x80]
add ecx, dword [esp + 0x88]
adc ebx, dword [esp + 0x8c]
add ecx, dword [esp + 0xb0]
mov dword [esp + 0xb0], eax
adc ebx, dword [esp + 0xb4]
add dword [esp + 0x34], 1
mov dword [esp + 0xb4], edx
mov ebp, dword [esp + 0x34]
sub dword [esp + 0x38], 8
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
cmp ebp, 0x10
jne 0x413860
mov eax, dword [esp + 0x340]
mov edx, dword [esp + 0x344]
mov dword [esp + 8], ecx
lea ebp, [esp + 0x328]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x33c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x330]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x334]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x360]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x358]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x35c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x350]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x354]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x378]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x37c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x370]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x374]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x3ec]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
jmp 0x413cda
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [ebp + 0xb8]
mov edx, dword [ebp + 0xbc]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov ecx, eax
mov ebx, edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], edi
shrd ecx, edx, 1
mov edi, eax
shrd ebx, eax, 1
mov dword [esp + 0x3c], edx
shrd eax, edx, 8
shrd edx, edi, 8
xor ecx, eax
xor ebx, edx
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x78]
shrd eax, edx, 7
shr edx, 7
xor ecx, eax
xor ebx, edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebx
mov edi, eax
mov ecx, eax
mov ebx, edx
shrd ecx, edx, 0x13
shrd ebx, eax, 0x13
shld eax, edx, 3
shld edx, edi, 3
mov edi, dword [esp + 0x7c]
xor eax, ecx
xor edx, ebx
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
shrd ecx, ebx, 6
shr ebx, 6
xor eax, ecx
xor edx, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0xc]
add esi, dword [esp + 0x50]
adc edi, dword [esp + 0x54]
mov dword [ebp], eax
add esi, dword [ebp + 0x78]
adc edi, dword [ebp + 0x7c]
add esi, dword [esp + 0x48]
adc edi, dword [esp + 0x4c]
mov dword [ebp + 4], edx
mov ebx, edi
mov edi, dword [esp + 4]
mov ecx, esi
mov esi, dword [esp]
mov dword [ebp + 0x44], ebx
mov dword [esp + 0x7c], ebx
mov ebx, edi
mov edx, edi
mov eax, esi
shrd ebx, esi, 0xe
mov dword [ebp + 0x40], ecx
shrd edx, esi, 0x12
mov dword [esp + 4], ebx
mov ebx, dword [esp + 4]
shrd eax, edi, 0x12
mov dword [esp + 0x78], ecx
mov ecx, esi
shrd ecx, edi, 0xe
xor ebx, edx
mov edx, edi
mov dword [ebp + 0x24], edi
mov dword [esp], ecx
mov ecx, dword [esp]
shld edx, esi, 0x17
xor ebx, edx
mov dword [esp + 4], edi
xor ecx, eax
mov eax, esi
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x34]
shld eax, edi, 0x17
mov edi, ecx
mov dword [ebp + 0x20], esi
xor edi, eax
mov dword [esp], esi
mov esi, dword [esp + 0x88]
mov ecx, dword [esp]
add esi, dword [ebx*8 + 0x42c900]
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x8c]
adc edi, dword [ebx*8 + 0x42c904]
mov ebx, dword [esp + 4]
add esi, dword [esp + 0x58]
mov edx, ecx
adc edi, dword [esp + 0x5c]
mov dword [esp + 0x20], esi
not edx
mov esi, dword [esp + 0x18]
mov eax, ebx
mov dword [esp + 0x24], edi
not eax
mov edi, dword [esp + 0x28]
and eax, dword [esp + 0x1c]
and edi, dword [esp]
and edx, esi
mov esi, dword [esp + 0x20]
mov ebx, edi
mov edi, dword [esp + 0x2c]
and edi, dword [esp + 4]
xor edx, ebx
mov ecx, edi
mov edi, eax
mov eax, dword [esp + 8]
xor edi, ecx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x80]
add esi, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x24]
adc edi, dword [esp + 0x64]
add esi, dword [esp + 0x78]
adc edi, dword [esp + 0x7c]
add edx, esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xc]
adc ecx, edi
mov edi, eax
mov dword [esp + 0x94], ecx
mov ecx, eax
mov ebx, edx
shrd ecx, edx, 0x1c
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x40]
shrd ebx, eax, 0x1c
shld eax, edx, 0x1e
xor ecx, eax
shld edx, edi, 0x1e
mov eax, dword [esp + 8]
xor ebx, edx
mov edx, dword [esp + 0xc]
mov edi, eax
shld eax, edx, 0x19
shld edx, edi, 0x19
mov edi, dword [esp + 0x44]
xor ecx, eax
xor ebx, edx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x14]
mov edx, ecx
mov ecx, dword [esp + 8]
mov eax, ebx
mov ebx, dword [esp + 0xc]
xor edx, esi
xor eax, edi
and edx, ecx
and eax, ebx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
and ebx, esi
and ecx, edi
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
xor edx, ebx
xor eax, ecx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x74]
mov dword [esp + 0x80], ecx
add esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x84], ebx
adc edi, edx
mov edx, dword [esp + 0x1c]
sub ebp, 8
add dword [esp + 0x34], 1
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x128]
mov dword [esp + 0x24], edx
cmp ebp, eax
jne 0x413c68
mov ebx, dword [esp + 0x11c]
add esi, dword [esp + 0xe8]
mov eax, dword [esp + 0xd8]
adc edi, dword [esp + 0xec]
mov edx, dword [esp + 0xdc]
add eax, dword [esp + 8]
mov dword [ebx], esi
adc edx, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
add eax, dword [esp + 0x40]
mov dword [ebx + 4], edi
adc edx, dword [esp + 0x44]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], edx
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0x94]
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], edx
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x114]
add eax, dword [esp]
adc edx, dword [esp + 4]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
add eax, dword [esp + 0x28]
adc edx, dword [esp + 0x2c]
mov dword [ebx + 0x30], eax
mov dword [ebx + 0x34], edx
mov eax, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
add eax, dword [esp + 0x18]
adc edx, dword [esp + 0x1c]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], edx
add esp, 0x3f4
pop ebx
pop esi
pop edi
pop ebp
ret