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

Disassembly:
sub esp, 0x250
mov eax, dword [esp + 0x26c]
mov ecx, eax
shr ecx, 4
push ebx
xor ebx, ebx
shr eax, 9
push esi
mov esi, dword [esp + 0x26c]
mov dword [esp + 8], ecx
inc eax
xor ecx, ecx
push edi
mov edi, dword [esp + 0x274]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x54], eax
cmp ecx, ebx
jb 0x455e3e
ja 0x455c31
cmp eax, ebx
jbe 0x455e3e
push ebp
jmp 0x455c42
xor ebx, ebx
mov eax, dword [esp + 0x18]
add eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x1c]
adc ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x284]
mov dword [esp + 0x60], eax
push edx
lea eax, [esp + 0x64]
mov dword [esp + 0x68], ecx
push eax
mov ecx, eax
push ecx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
call dword [esp + 0x270]
add esp, 0xc
mov eax, 2
mov dword [esp + 0x54], ebx
jmp 0x455c92
xor ebx, ebx
mov edx, dword [esp + eax*8 + 0x54]
mov ecx, dword [esp + eax*8 + 0x50]
mov ebp, dword [esp + eax*8 + 0x58]
mov dword [esp + 0x44], edx
mov edx, dword [esp + eax*8 + 0x5c]
mov dword [esp + 0x48], ebx
mov ebx, edx
mov dword [esp + 0x24], edx
and ebx, 0x80000000
xor edx, edx
or edx, ebx
je 0x455cc4
mov dword [esp + 0x48], 0x87
mov ebx, dword [esp + 0x24]
shld ebx, ebp, 1
add ebp, ebp
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x44]
and ebp, 0x80000000
xor edx, edx
or edx, ebp
je 0x455ce7
or dword [esp + 0x20], 1
mov edx, dword [esp + 0x44]
shld edx, ecx, 1
add ecx, ecx
mov ebp, ecx
xor ebp, dword [esp + 0x48]
xor ecx, ecx
xor edx, ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + eax*8 + 0x60], ebp
mov dword [esp + eax*8 + 0x64], edx
mov dword [esp + eax*8 + 0x68], ecx
mov dword [esp + eax*8 + 0x6c], ebx
add eax, 2
adc dword [esp + 0x54], 0
jne 0x455d22
cmp eax, 0x40
jb 0x455c90
mov ecx, dword [esp + 0x14]
test ecx, ecx
ja 0x455d39
jb 0x455d33
cmp dword [esp + 0x10], 0x20
jae 0x455d39
mov eax, dword [esp + 0x10]
jmp 0x455d40
mov eax, 0x20
xor ecx, ecx
shld ecx, eax, 1
add eax, eax
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
test ecx, ecx
jb 0x455e07
ja 0x455d64
test eax, eax
jbe 0x455e07
mov edx, dword [esp + ebx*8 + 0x60]
xor edx, dword [esi]
mov eax, dword [esp + ebx*8 + 0x64]
xor eax, dword [esi + 4]
mov ecx, dword [esp + ebx*8 + 0x68]
xor ecx, dword [esi + 8]
mov dword [esp + 0x28], edx
mov edx, dword [esp + ebx*8 + 0x6c]
xor edx, dword [esi + 0xc]
add esi, 8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x30], ecx
push eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x38], edx
push ecx
mov edx, ecx
push edx
add esi, 8
call dword [esp + 0x274]
mov eax, dword [esp + ebx*8 + 0x6c]
xor eax, dword [esp + 0x34]
mov ecx, dword [esp + ebx*8 + 0x70]
xor ecx, dword [esp + 0x38]
mov edx, dword [esp + ebx*8 + 0x74]
xor edx, dword [esp + 0x3c]
mov dword [edi], eax
mov eax, dword [esp + ebx*8 + 0x78]
xor eax, dword [esp + 0x40]
add edi, 8
mov dword [edi - 4], ecx
mov dword [edi + 4], eax
or eax, 0xffffffff
add esp, 0xc
add edi, 8
add dword [esp + 0x10], eax
mov dword [edi - 8], edx
adc dword [esp + 0x14], eax
add ebx, 2
adc ebp, 0
cmp ebp, dword [esp + 0x3c]
jb 0x455d64
ja 0x455e07
cmp ebx, dword [esp + 0x38]
jb 0x455d64
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x1c]
adc eax, 0
xor ecx, ecx
mov dword [esp + 0x1c], eax
cmp eax, ecx
jb 0x455c40
ja 0x455e31
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x18], ecx
jb 0x455c40
pop ebp
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x250
ret
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x250
ret