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

Disassembly:
sub esp, 0x320
xor eax, eax
push ebx
mov ecx, 0x2d
push ebp
mov edx, 0x41
push esi
mov esi, 0x1e
push edi
mov edi, 0x5a
mov ebx, 0x82
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], edi
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov ebp, 0xa5
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], edi
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], ebp
mov dword [esp + 0x154], ebp
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], edi
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], esi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], edi
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], ebp
mov dword [esp + 0x188], 0xbe
mov dword [esp + 0x18c], 0xbe
mov dword [esp + 0x190], ebp
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], edi
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], edx
mov dword [esp + 0x1b4], edi
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], ebp
mov dword [esp + 0x1c0], 0xff
mov dword [esp + 0x1c4], 0xbe
mov dword [esp + 0x1c8], ebp
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x1d0], edi
mov dword [esp + 0x1d4], edx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], esi
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], edx
mov dword [esp + 0x1f0], edi
mov dword [esp + 0x1f4], ebx
mov dword [esp + 0x1f8], ebp
mov dword [esp + 0x1fc], ebp
mov dword [esp + 0x200], ebx
mov dword [esp + 0x204], edi
mov dword [esp + 0x208], edx
mov dword [esp + 0x20c], ecx
mov dword [esp + 0x210], esi
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], esi
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], edx
mov dword [esp + 0x22c], edi
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], edx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x244], esi
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], eax
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], eax
mov dword [esp + 0x25c], esi
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], edx
mov dword [esp + 0x268], edi
mov dword [esp + 0x26c], edi
mov dword [esp + 0x270], edx
mov dword [esp + 0x274], ecx
mov dword [esp + 0x278], esi
mov dword [esp + 0x2a0], edx
mov dword [esp + 0x2a4], edx
mov edx, dword [esp + 0x338]
cmp edx, eax
mov dword [esp + 0x27c], eax
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x298], esi
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x2a8], ecx
mov dword [esp + 0x2ac], esi
mov dword [esp + 0x2b0], eax
mov dword [esp + 0x2b4], eax
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], eax
mov dword [esp + 0x2c4], eax
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], esi
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], ecx
mov dword [esp + 0x2e0], esi
mov dword [esp + 0x2e4], eax
mov dword [esp + 0x2e8], eax
mov dword [esp + 0x2ec], eax
mov dword [esp + 0x2f0], eax
mov dword [esp + 0x2f4], eax
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], eax
mov dword [esp + 0x300], eax
mov dword [esp + 0x304], eax
mov dword [esp + 0x308], eax
mov dword [esp + 0x30c], eax
mov dword [esp + 0x310], eax
mov dword [esp + 0x314], eax
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], eax
mov dword [esp + 0x320], eax
mov dword [esp + 0x324], eax
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], eax
jl 0x41360c
mov edi, dword [0x492438]
lea ecx, [edi - 0xf]
cmp edx, ecx
jge 0x41360c
mov esi, dword [esp + 0x33c]
cmp esi, eax
jl 0x41360c
mov ecx, dword [0x49243c]
lea ebx, [ecx - 0xf]
cmp esi, ebx
jge 0x41360c
sub ecx, esi
sub ecx, 1
imul ecx, edi
add ecx, edx
mov edx, dword [esp + 0x334]
lea edx, [edx + ecx*2]
add edx, ecx
mov ecx, dword [0x7c9f2c]
sub ecx, eax
mov dword [esp + 0x14], edx
je 0x4134bc
sub ecx, 1
je 0x413360
sub ecx, 1
jne 0x41360c
mov edi, dword [esp + 0x340]
lea eax, [esp + 0x24]
mov dword [esp + 0x1c], 0xe
jmp 0x413214
mov edx, dword [esp + 0x14]
mov ebp, eax
lea eax, [edx + 1]
mov dword [esp + 0x18], 7
mov ecx, dword [ebp - 4]
cmp ecx, 0xff
jne 0x413285
movzx edx, byte [eax + 1]
movzx esi, byte [eax]
movzx ebx, byte [eax - 1]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x413259
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x41326a
mov ecx, 0xff
jmp 0x41326e
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x41327b
mov ebx, 0xff
mov byte [eax + 1], dl
mov byte [eax], cl
mov byte [eax - 1], bl
jmp 0x4132a1
movzx edx, byte [eax - 1]
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x41329e
mov ecx, 0xff
mov byte [eax - 1], cl
mov ecx, dword [ebp]
cmp ecx, 0xff
jne 0x413307
movzx edx, byte [eax + 4]
movzx esi, byte [eax + 3]
movzx ebx, byte [eax + 2]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x4132da
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x4132eb
mov ecx, 0xff
jmp 0x4132ef
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x4132fc
mov ebx, 0xff
mov byte [eax + 4], dl
mov byte [eax + 3], cl
mov byte [eax + 2], bl
jmp 0x413323
movzx edx, byte [eax + 2]
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x413320
mov ecx, 0xff
mov byte [eax + 2], cl
add ebp, 8
add eax, 6
sub dword [esp + 0x18], 1
jne 0x413221
mov eax, dword [0x492438]
lea ecx, [eax*4]
sub ecx, eax
neg ecx
add dword [esp + 0x14], ecx
sub dword [esp + 0x1c], 1
mov eax, ebp
jne 0x413210
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x320
ret
mov edi, dword [esp + 0x340]
lea eax, [esp + 0x24]
mov dword [esp + 0x18], 0xe
mov ebp, eax
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x1c], 7
mov ecx, dword [ebp - 4]
cmp ecx, 0xff
jne 0x4133e6
movzx edx, byte [eax + 1]
movzx esi, byte [eax]
movzx ebx, byte [eax - 1]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x4133bc
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x4133cd
mov ecx, 0xff
jmp 0x4133d1
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x4133de
mov ebx, 0xff
mov byte [eax + 1], dl
mov byte [eax - 1], bl
jmp 0x4133fe
movzx edx, byte [eax]
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x4133fe
mov ecx, 0xff
mov byte [eax], cl
mov ecx, dword [ebp]
cmp ecx, 0xff
jne 0x413463
movzx edx, byte [eax + 4]
movzx esi, byte [eax + 3]
movzx ebx, byte [eax + 2]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x413439
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x41344a
mov ecx, 0xff
jmp 0x41344e
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x41345b
mov ebx, 0xff
mov byte [eax + 4], dl
mov byte [eax + 2], bl
jmp 0x41347c
movzx edx, byte [eax + 3]
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x41347c
mov ecx, 0xff
mov byte [eax + 3], cl
add ebp, 8
add eax, 6
sub dword [esp + 0x1c], 1
jne 0x413384
mov eax, dword [0x492438]
lea ecx, [eax*4]
sub ecx, eax
neg ecx
add dword [esp + 0x14], ecx
sub dword [esp + 0x18], 1
mov eax, ebp
jne 0x413373
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x320
ret
mov edi, dword [esp + 0x340]
lea eax, [esp + 0x24]
mov dword [esp + 0x18], 0xe
nop
mov ebp, eax
mov eax, dword [esp + 0x14]
add eax, 2
mov dword [esp + 0x1c], 7
mov ecx, dword [ebp - 4]
cmp ecx, 0xff
movzx edx, byte [eax]
jne 0x413545
movzx esi, byte [eax - 1]
movzx ebx, byte [eax - 2]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x413519
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x41352a
mov ecx, 0xff
jmp 0x41352e
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x41353b
mov ebx, 0xff
mov byte [eax], dl
mov byte [eax - 1], cl
mov byte [eax - 2], bl
jmp 0x41355c
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x41355a
mov ecx, 0xff
mov byte [eax], cl
mov ecx, dword [ebp]
cmp ecx, 0xff
movzx edx, byte [eax + 3]
jne 0x4135c2
movzx esi, byte [eax + 2]
movzx ebx, byte [eax + 1]
mov ecx, edi
imul ecx, ecx, 0xff
sar ecx, 8
add edx, ecx
add esi, ecx
add ebx, ecx
cmp edx, 0xff
mov dword [esp + 0x10], esi
jle 0x413595
mov edx, 0xff
cmp dword [esp + 0x10], 0xff
jle 0x4135a6
mov ecx, 0xff
jmp 0x4135aa
mov cl, byte [esp + 0x10]
cmp ebx, 0xff
jle 0x4135b7
mov ebx, 0xff
mov byte [eax + 3], dl
mov byte [eax + 2], cl
mov byte [eax + 1], bl
jmp 0x4135da
imul ecx, edi
sar ecx, 8
add ecx, edx
cmp ecx, 0xff
jle 0x4135d7
mov ecx, 0xff
mov byte [eax + 3], cl
add ebp, 8
add eax, 6
sub dword [esp + 0x1c], 1
jne 0x4134e1
mov eax, dword [0x492438]
lea ecx, [eax*4]
sub ecx, eax
neg ecx
add dword [esp + 0x14], ecx
sub dword [esp + 0x18], 1
mov eax, ebp
jne 0x4134d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x320
ret