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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
movzx eax, byte [edx + 0x168]
mov edi, edx
movdqa xmm0, xmmword [0x7d4730]
mov ebx, ecx
mov ecx, 0xffffffff
mov dword [esp + 0x2c], ebx
mov byte [esp], al
mov eax, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
shl edx, 4
nop word [eax + eax]
test edx, edx
je 0x4557ff
movdqa xmm1, xmmword [eax]
add eax, 0x10
inc ecx
add edx, 0xfffffff0
pcmpeqb xmm1, xmm0
pmovmskb esi, xmm1
cmp esi, 0xffff
jne 0x455770
mov edx, dword [edi + 0x88]
cmp ecx, edx
jae 0x455f25
mov eax, dword [edi + 0x84]
mov edx, dword [eax + ecx*8 + 4]
push dword [eax + ecx*8]
call dword [edx + 0x20]
add esp, 4
mov ebx, eax
lea eax, [esp + 0x60]
push ebx
push eax
call dword [edx + 0xc]
add esp, 8
test ebx, ebx
je 0x4557f5
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
xor edx, 0xbd8d9362
xor ecx, 0x548bf31
xor esi, 0x8bb8d775
xor eax, 0x5c5df57b
or ecx, edx
or eax, esi
or eax, ecx
je 0x455801
mov ecx, 0x8a86f4
call fcn.007c1fe0
xor ebx, ebx
cmp byte [esp], 0
mov ecx, 0x8a84f4
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 1
mov dword [esp + 0x54], edi
mov dword [esp + 0x14], 0
setne al
test ebx, ebx
cmovne ecx, ebx
cmp dword [edi + 0x104], 0x80000000
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
jne 0x4558ee
movzx ecx, byte [ebp + 8]
and cl, al
cmp dword [edi + 0x110], 0x80000000
mov eax, ecx
jne 0x455921
movzx eax, al
lea esi, [esp + 0x54]
lea ecx, [esp + 0x38]
lea edx, [esp + 0xc]
push eax
push esi
push edi
call fcn.00456c00
add esp, 0xc
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0x4c]
test esi, esi
je 0x455950
movzx edx, byte [esp + 0x4d]
mov ecx, dword [eax + 0x48]
test dl, dl
mov byte [esp], dl
je 0x455964
lea edx, [ecx + 0x120]
imul edi, esi, 0x134
jmp 0x4558c2
add edx, 0x134
add edi, 0xfffffecc
je 0x455a0b
cmp dword [edx], 0
jne 0x4558b0
cmp dword [edx - 0xec], 0x110000
jne 0x4558b0
mov ebx, dword [edx - 4]
test bl, 4
jne 0x4558b0
and ebx, 0x8008
cmp ebx, 0x8000
je 0x4558b0
jmp 0x4559b5
mov esi, dword [edi + 0x10c]
mov ebx, dword [edi + 0x108]
test esi, esi
jne 0x455d83
xor edi, edi
mov eax, 1
add eax, edi
push esi
push ebx
push eax
call fcn.007bd9b0
add esp, 0xc
add edi, esi
mov dword [esp + 0x14], edi
jmp 0x455af0
lea esi, [esp + 0x38]
movzx eax, al
lea edx, [esp + 0xc]
lea ebx, [esp + 0x54]
mov ecx, esi
push eax
push ebx
push edi
call fcn.00456c00
add esp, 0xc
mov edx, dword [edi + 0x114]
mov ecx, esi
push dword [edi + 0x118]
jmp 0x455ae8
xor edx, edx
xor ecx, ecx
mov esi, dword [eax + 0x64]
test esi, esi
jne 0x455a72
jmp 0x455ac9
lea edx, [ecx + 0x120]
imul edi, esi, 0x134
jmp 0x45598e
add edx, 0x134
add edi, 0xfffffecc
je 0x455a0b
cmp dword [edx], 0
jne 0x455980
cmp dword [edx - 0xec], 0x110000
jne 0x455980
mov ebx, dword [edx - 4]
test bl, 4
jne 0x455980
and ebx, 0x4008
cmp ebx, 0x4000
je 0x455980
mov dl, 1
cmp byte [esp], 0
jne 0x455a13
add ecx, 0x120
imul esi, esi, 0x134
jmp 0x4559e2
add ecx, 0x134
add esi, 0xfffffecc
je 0x455952
cmp dword [ecx], 0
jne 0x4559f3
cmp dword [ecx - 0xec], 0x110000
je 0x4559d0
mov ebx, dword [ecx - 4]
test bl, 4
jne 0x4559d0
and ebx, 0x4008
cmp ebx, 0x4000
je 0x4559d0
jmp 0x455a69
xor edx, edx
cmp byte [esp], 0
je 0x4559bd
add ecx, 0x120
imul esi, esi, 0x134
jmp 0x455a42
add ecx, 0x134
add esi, 0xfffffecc
je 0x455952
cmp dword [ecx], 0
jne 0x455a53
cmp dword [ecx - 0xec], 0x110000
je 0x455a30
mov ebx, dword [ecx - 4]
test bl, 4
jne 0x455a30
and ebx, 0x8008
cmp ebx, 0x8000
je 0x455a30
mov cl, 1
mov esi, dword [eax + 0x64]
test esi, esi
je 0x455ac9
mov eax, dword [eax + 0x60]
movdqa xmm0, xmmword [0x7d4750]
imul esi, esi, 0x16c
pxor xmm1, xmm1
add eax, 0x11c
jmp 0x455ab7
movq xmm2, qword [eax + 0x28]
punpckldq xmm2, xmm2
pand xmm2, xmm0
pcmpeqd xmm2, xmm1
movmskpd edi, xmm2
cmp edi, 3
je 0x455ad0
add eax, 0x16c
add esi, 0xfffffe94
je 0x455ac9
cmp dword [eax + 4], 4
jne 0x455a90
mov edi, dword [eax]
cmp dword [edi], 0x706c6568
jne 0x455a90
jmp 0x455aaa
or dl, cl
cmp dl, 1
jne 0x455add
lea ecx, [esp + 0x38]
mov edx, 0x80e705
push 0x51
jmp 0x455ae8
lea ecx, [esp + 0x38]
mov edx, 0x80e6c0
push 0x45
call fcn.00456ef0
add esp, 4
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
lea ecx, [esp + 0x70]
lea edx, [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x38], 0xa
mov dword [esp + 0x4c], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], 0xa
call fcn.004568b0
cmp dword [esp + 0x70], 0
je 0x455d36
mov esi, dword [esp + 0x74]
xor ecx, ecx
inc esi
jne 0x455b54
mov esi, dword [esp + 0x28]
mov edx, ebx
jmp 0x455cc9
mov ecx, dword [esp + 0x28]
mov eax, ebx
sub eax, esi
mov dword [esp + 0x20], eax
jbe 0x455b77
cmp byte [ecx + esi], 0xbf
jg 0x455b79
mov edx, ebx
push 0x80d5f8
push esi
push 0
call fcn.007c2190
jne 0x455b68
add esi, ecx
xor edx, edx
mov dword [esp], esi
jmp 0x455ba8
movzx eax, bl
test byte [eax + 0x93ce2e], 1
je 0x455cb2
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, esi
je 0x455cc3
mov edi, ecx
movzx ecx, byte [ecx]
mov eax, edx
movzx ebx, cl
test cl, cl
js 0x455bc0
lea ecx, [edi + 1]
jmp 0x455c30
movzx esi, byte [edi + 1]
and ebx, 0x1f
and esi, 0x3f
cmp cl, 0xdf
jbe 0x455c14
movzx edx, byte [edi + 2]
shl esi, 6
and edx, 0x3f
or edx, esi
cmp cl, 0xf0
jb 0x455c21
mov dword [esp + 0x18], eax
movzx eax, byte [edi + 3]
and ebx, 7
shl edx, 6
lea ecx, [edi + 4]
mov esi, ebx
shl esi, 0x12
and eax, 0x3f
or eax, edx
mov ebx, eax
or ebx, esi
cmp ebx, 0x110000
je 0x455d9f
mov esi, dword [esp]
mov eax, dword [esp + 0x18]
jmp 0x455c30
shl ebx, 6
lea ecx, [edi + 2]
or ebx, esi
mov esi, dword [esp]
jmp 0x455c30
mov esi, dword [esp]
shl ebx, 0xc
lea ecx, [edi + 3]
or ebx, edx
nop dword [eax]
mov edx, ecx
sub edx, edi
mov edi, eax
add edx, eax
lea eax, [ebx - 9]
cmp eax, 5
jb 0x455ba0
cmp ebx, 0x20
je 0x455ba0
cmp ebx, 0x80
jb 0x455cb2
mov eax, ebx
mov dword [esp + 8], 0
shr eax, 8
cmp eax, 0x1f
jg 0x455c86
test eax, eax
je 0x455b82
cmp eax, 0x16
jne 0x455db8
cmp ebx, 0x1680
je 0x455ba0
jmp 0x455cb2
cmp eax, 0x20
je 0x455ca2
cmp eax, 0x30
jne 0x455db8
cmp ebx, 0x3000
je 0x455ba0
jmp 0x455cb2
movzx eax, bl
test byte [eax + 0x93ce2e], 2
jne 0x455ba0
mov dword [esp + 8], 0
mov dword [esp + 4], edx
jmp 0x455dbc
mov edx, dword [esp + 0x20]
xor ecx, ecx
xor edi, edi
cmp ecx, edi
jne 0x455d36
test edx, edx
je 0x455cfd
js 0x455f2f
movzx eax, byte [0x94bfc5]
xor ecx, ecx
mov edi, esi
mov esi, edx
call fcn.0071ee80
mov edx, esi
mov ebx, eax
test eax, eax
jne 0x455d04
mov ecx, 1
call fcn.007c1490
mov edi, esi
mov ebx, 1
mov esi, edx
push edx
push edi
push ebx
call fcn.007bd9b0
add esp, 0xc
cmp dword [esp + 0xc], 0
je 0x455d2a
push dword [esp + 0x28]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0xc]
call fcn.00433f20
mov edx, dword [esp + 0x14]
cmp dword [esp + 0xc], edx
je 0x455d6f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov byte [eax + edx], 0xa
inc edx
mov dword [esp + 0x14], edx
mov dword [ecx + 8], edx
movsd xmm0, qword [esp + 0xc]
movsd qword [ecx], xmm0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0xc]
push 1
call fcn.007c54d0
add esp, 4
mov edx, dword [esp + 0x14]
jmp 0x455d49
lea ecx, [esp + 0xc]
xor edx, edx
push esi
call fcn.007c54d0
add esp, 4
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x455909
mov edi, dword [esp + 0x18]
mov esi, dword [esp]
mov al, 1
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov edx, edi
jmp 0x455dbc
mov dword [esp + 4], edx
cmp ecx, esi
je 0x455f0a
mov esi, dword [esp]
mov dword [esp + 0x18], edi
jmp 0x455dec
movzx eax, bl
test byte [eax + 0x93ce2e], 1
je 0x455ee7
nop dword [eax]
mov edi, dword [esp + 0x18]
cmp ecx, esi
je 0x455f0a
movzx ebx, byte [esi - 1]
mov dword [esp + 0x34], esi
test bl, bl
js 0x455e00
dec esi
movzx ebx, bl
jmp 0x455e7d
movzx eax, byte [esi - 2]
cmp al, 0xc0
jge 0x455e3e
mov dword [esp + 0x30], eax
movzx eax, byte [esi - 3]
cmp al, 0xbf
jg 0x455e4a
mov dword [esp + 0x1c], eax
mov eax, esi
and dword [esp + 0x1c], 0x3f
mov edi, dword [esp + 0x18]
add esi, 0xfffffffc
movzx eax, byte [eax - 4]
mov dword [esp + 0x24], esi
and eax, 7
shl eax, 6
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
jmp 0x455e54
add esi, 0xfffffffe
and eax, 0x1f
mov dword [esp + 0x24], esi
jmp 0x455e62
add esi, 0xfffffffd
and eax, 0xf
mov dword [esp + 0x24], esi
shl eax, 6
mov esi, eax
mov eax, dword [esp + 0x30]
and eax, 0x3f
or eax, esi
and bl, 0x3f
mov esi, dword [esp + 0x24]
shl eax, 6
movzx ebx, bl
or ebx, eax
cmp ebx, 0x110000
je 0x455f0a
lea eax, [ebx - 9]
cmp eax, 5
jb 0x455de0
cmp ebx, 0x20
je 0x455de0
cmp ebx, 0x80
jb 0x455ee7
mov eax, ebx
shr eax, 8
cmp eax, 0x1f
jg 0x455ebf
test eax, eax
je 0x455dcd
cmp eax, 0x16
jne 0x455ee7
cmp ebx, 0x1680
je 0x455de0
jmp 0x455ee7
cmp eax, 0x20
je 0x455ed7
cmp eax, 0x30
jne 0x455ee7
cmp ebx, 0x3000
je 0x455de0
jmp 0x455ee7
movzx eax, bl
test byte [eax + 0x93ce2e], 2
jne 0x455de0
sub edx, ecx
mov esi, dword [esp]
mov edi, dword [esp + 0x18]
add edx, dword [esp + 0x34]
cmp byte [esp + 8], 0
mov ecx, edx
mov edx, dword [esp + 0x20]
jne 0x455cc9
jmp 0x455ccb
cmp byte [esp + 8], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp]
mov ecx, dword [esp + 4]
jne 0x455cc9
jmp 0x455ccb
push 0x8a8474
call fcn.007c1be0
call fcn.00418cb0
int3