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

Disassembly:
sub esp, 0x22c
push ebx
push ebp
push esi
xor esi, esi
push edi
mov edi, ecx
mov eax, dword [edi + 0xb3c]
mov ecx, dword [edi + 0xb40]
mov edx, dword [edi + 0xb44]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0xb4c]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 0xb50]
mov dword [esp + 0x34], edx
mov edx, dword [edi + 0xb54]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xb58]
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0xb5c]
mov dword [esp + 0x14], edx
mov edx, dword [edi + 0xb64]
mov dword [esp + 0x24], eax
mov eax, 1
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], edx
xor ebp, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], esi
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
mov dword [esp + 0x110], esi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], esi
mov dword [esp + 0x124], esi
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], eax
lea ebx, [edi + 0x178]
mov ecx, ebx
call fcn.00456240
and eax, 7
cmp dword [edi + eax*4 + 0x154], esi
jne 0x415656
mov dword [edi + eax*4 + 0x154], 1
lea edx, [esp + 0x140]
mov dword [esp + 0x10], 8
xor ecx, ecx
cmp eax, 8
setge cl
add edx, 0x20
dec ecx
and eax, ecx
mov ecx, eax
shl ecx, 5
mov ebx, dword [esp + ecx + 0x3c]
mov dword [edx - 0x24], ebx
mov ebx, dword [esp + ecx + 0x40]
mov dword [edx - 0x20], ebx
mov ebx, dword [esp + ecx + 0x44]
mov dword [edx - 0x1c], ebx
mov ebx, dword [esp + ecx + 0x48]
mov dword [edx - 0x18], ebx
mov ebx, dword [esp + ecx + 0x4c]
mov dword [edx - 0x14], ebx
mov ebx, dword [esp + ecx + 0x50]
mov dword [edx - 0x10], ebx
mov ebx, dword [esp + ecx + 0x54]
mov ecx, dword [esp + ecx + 0x58]
mov dword [edx - 0xc], ebx
mov dword [edx - 8], ecx
inc eax
sub dword [esp + 0x10], 1
jne 0x415683
mov edx, dword [edi + 0x13c]
mov eax, dword [edx + 0xa0]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
jge 0x4157ab
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
add edx, ebx
sub eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov edx, esi
mov ebx, dword [esp + 0x28]
cmp dword [esp + 0x24], ebx
jge 0x415788
sub ebx, dword [esp + 0x24]
mov dword [esp + 0x18], ebx
jmp 0x415730
lea ebx, [ebp + edx*8]
cmp dword [esp + ebx*4 + 0x13c], esi
je 0x41576f
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax]
mov edx, dword [edi + 0x68]
mov byte [ecx + edx], bl
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 1]
mov edx, dword [edi + 0x68]
mov byte [edx + ecx + 1], bl
mov ebx, dword [esp + 0x10]
movzx ebx, byte [ebx + eax + 2]
mov edx, dword [edi + 0x68]
mov byte [edx + ecx + 2], bl
mov edx, dword [esp + 0x20]
inc ebp
mov ebx, ebp
sub ebx, 8
neg ebx
sbb ebx, ebx
and ebp, ebx
add ecx, 3
add eax, 3
sub dword [esp + 0x18], 1
jne 0x415730
add eax, dword [esp + 0x30]
inc edx
mov ebx, edx
sub ebx, 8
neg ebx
sbb ebx, ebx
add ecx, dword [esp + 0x1c]
and edx, ebx
sub dword [esp + 0x14], 1
mov dword [esp + 0x20], edx
jne 0x415714
inc dword [edi + 0x14c]
mov eax, dword [edi + 0x14c]
cmp eax, dword [edi + 0x150]
jne 0x415847
mov dword [edi + 0x134], esi
mov dword [edi + 0xb3c], esi
mov dword [edi + 0xb40], esi
mov dword [edi + 0xb44], esi
mov dword [edi + 0xb48], esi
mov dword [edi + 0xb4c], esi
mov dword [edi + 0xb50], esi
mov dword [edi + 0xb54], esi
mov dword [edi + 0xb58], esi
mov dword [edi + 0xb5c], esi
mov dword [edi + 0xb60], esi
mov dword [edi + 0xb64], esi
mov dword [edi + 0x154], esi
mov dword [edi + 0x158], esi
mov dword [edi + 0x15c], esi
mov dword [edi + 0x160], esi
mov dword [edi + 0x164], esi
mov dword [edi + 0x168], esi
mov dword [edi + 0x16c], esi
mov dword [edi + 0x170], esi
mov dword [edi + 0x174], esi
mov dword [edi + 0xb78], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x22c
ret