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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov ecx, dword [ebp + 8]
mov dword [esp + 0x80], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x6c], 0
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0x1c
call fcn.004585b0
test eax, eax
jne 0x463814
mov al, 0x10
movzx eax, al
cmp eax, 0x30
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0040a2e0
jmp 0x464023
mov eax, 0xe
mov dl, 0x37
mov ecx, 0x9a
xor ecx, 0xe3
add ecx, 0xffffff8b
mov dword [esp + 0x40], ecx
mov ecx, 0xec
xor ecx, 0xfb
mov dword [esp + 0x64], ecx
mov ecx, 0x95
xor ecx, 0x9e
mov dword [esp + 0x30], ecx
mov ecx, 0xb5
add ecx, 0xffffff69
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x57], cl
lea ecx, [esp + 0x74]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x68], ecx
jmp 0x4638a6
mov eax, 0xd
mov bl, 0x11
mov dword [esp + 0x80], 0
mov dl, byte [esp + 0x4b]
cmp eax, 0xd
je 0x464023
movzx eax, dl
cmp eax, 0x5d
jne 0x463920
mov byte [esp + 0x5f], bl
mov ebx, 0xe
mov byte [esp + 0x4b], 0x5d
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459aa0
call fcn.005ae190
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], eax
mov edx, dword [eax + 4]
test edx, edx
je 0x463a39
mov cl, 0x42
mov eax, edx
imul eax, eax
and eax, 3
cmp eax, 2
jne 0x463990
jmp 0x463a39
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459aa0
call fcn.005ae190
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x58], eax
mov edx, dword [eax + 4]
test edx, edx
jne 0x463985
mov byte [esp + 0x5f], bl
mov byte [esp + 0x4b], 0x37
mov eax, edx
or eax, 2
mov ecx, edx
xor ecx, 2
add ecx, eax
je 0x463981
mov dword [esp + 0x50], edx
mov dword [esp + 0x70], 0x70000024
jmp 0x463e30
mov cl, 0x42
jmp 0x463990
mov byte [esp + 0x5f], bl
mov byte [esp + 0x4b], 0x37
mov cl, 0x42
movzx eax, cl
cmp eax, 0x42
jne 0x4639c0
mov dword [esp + 0x50], edx
mov ebx, 0x15
mov al, 0x24
mov ecx, dword [esp + 0x58]
cmp dword [ecx], 0
je 0x463d0f
jmp 0x4639e2
mov dword [esp + 0x50], edx
mov al, 0x24
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
mov edx, ecx
and edx, 1
inc edx
xor edx, ecx
sete dl
movzx edx, dl
cmp ecx, edx
je 0x463ac0
mov ebx, 1
movzx eax, al
cmp eax, 0x24
je 0x463a35
cmp eax, 0x30
jne 0x463a83
mov eax, 8
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
mov ecx, dword [ecx + 8]
mov edx, ecx
and edx, 1
xor edx, ecx
cmp edx, 0xffffffff
setne dl
movzx edx, dl
add esi, 0xc
cmp ecx, edx
mov ebx, 4
mov ecx, dword [esp + 0x58]
lea ecx, [ecx + 0x10]
mov dword [esp + 0x44], ecx
je 0x463f70
jmp 0x463bd4
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
jne 0x463ac0
mov eax, dword [esp + 0x58]
lea eax, [eax + 0x10]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax]
mov eax, dword [eax + 8]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add esi, 0xc
cmp eax, ecx
jne 0x463bef
jmp 0x463ad0
mov eax, dword [ebp + 8]
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, eax
or ecx, 2
mov edx, eax
xor edx, 2
add edx, ecx
mov esi, dword [esi]
setne cl
movzx ecx, cl
add esi, 0xc
cmp eax, ecx
mov eax, 0x11
mov ecx, dword [esp + 0x58]
lea ecx, [ecx + 0x10]
mov dword [esp + 0x44], ecx
je 0x463f10
jmp 0x463bef
mov dword [esp + 0x70], 0x70000024
jmp 0x463e30
xor eax, eax
jmp 0x463b04
cmp ecx, 2
adc eax, 0
movzx ecx, byte [esi]
shl ecx, 0x18
movzx edx, byte [esi + 1]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [esi + 2]
shl ecx, 8
or ecx, edx
movzx edi, byte [esi + 3]
or edi, ecx
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sbb edx, edx
and edx, 1
cmp eax, edx
jb 0x463ae0
mov ebx, dword [esp + 0x40]
cmp ebx, 4
jne 0x463c10
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 0xd
mov dword [esp + 0x14], 0
mov dword [esp], 0
call fcn.004641f0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x463c20
mov ecx, 0x14
mov al, 0x5e
movzx eax, al
cmp eax, 0x5e
je 0x463d71
mov ebx, 2
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov dword [esp], eax
call fcn.007ca940
shl eax, 3
mov dword [esp], eax
call fcn.00492770
mov dword [esp + 0x78], eax
test eax, eax
je 0x463c10
cmp ebx, 2
jne 0x463bef
nop dword [eax]
mov eax, 3
sub eax, ebx
xor eax, ebx
jne 0x463ce0
mov ebx, 0xa
mov edi, dword [esi]
cmp ebx, 0xa
je 0x463b25
jmp 0x463dea
mov eax, dword [esp + 0x60]
mov dword [eax], 0x70000003
jmp 0x463e30
mov ecx, 0xf
mov dl, 0x5e
movzx ebx, dl
xor edx, edx
cmp ebx, 0x5e
je 0x463c49
jmp 0x463c5d
inc edx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x64]
mov ebx, edx
imul ebx, ebx
and ebx, 3
cmp ebx, 2
sbb ebx, ebx
and ebx, 1
cmp edx, ebx
jb 0x463c40
xor edx, edx
cmp ecx, 0xf
je 0x463c75
jmp 0x463e30
inc edx
mov dword [esp + 0x70], eax
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
setne cl
movzx ecx, cl
cmp edx, ecx
jb 0x463c70
mov ecx, dword [esp + 0x30]
jmp 0x463ff8
mov ebx, 0xb
mov eax, dword [esp + 0x60]
mov dword [eax], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov dword [esp], eax
call fcn.007ca940
shl eax, 3
mov dword [esp], eax
call fcn.00492770
mov dword [esp + 0x78], eax
test eax, eax
je 0x463b1c
xor eax, eax
test al, al
jne 0x463b1c
mov ebx, 0xc
mov byte [esp + 0x57], 0x7b
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0041d2a0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x463e30
cmp ebx, 0xc
jne 0x463ac0
jmp 0x463fe0
mov byte [esp + 0x57], 0x24
mov ebx, dword [esp + 0x4c]
mov dword [esp], ebx
call fcn.004353f0
movsd xmm0, qword [eax]
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
movsd qword [ecx + eax*8], xmm0
inc dword [edx]
mov dword [esp], ebx
call fcn.0041d2b0
mov dword [esp], ebx
call fcn.0041d2a0
test eax, eax
jne 0x463d8e
mov ecx, 0xd
imul eax, eax
and eax, 3
cmp eax, 2
mov eax, 0xf
jae 0x463da0
cmp ecx, 0xd
jne 0x463ca0
mov eax, ecx
not eax
and eax, 1
add eax, ecx
jne 0x463fe0
jmp 0x463ca0
mov eax, 0xf
nop word cs:[eax + eax]
cmp eax, 0xf
je 0x463e30
jmp 0x463ef0
mov byte [esp + 0x5f], 0x68
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0041d2e0
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x463dd7
mov eax, 3
sub eax, ecx
xor eax, ecx
jmp 0x463de0
mov dword [esp + 0x68], ecx
jmp 0x463dea
mov dword [esp + 0x68], ecx
jne 0x463ef0
xor ebx, ebx
jmp 0x463e05
inc ebx
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
call fcn.0064bf00
mov eax, ebx
or eax, 2
mov ecx, ebx
xor ecx, 2
add ecx, eax
setne al
movzx eax, al
cmp ebx, eax
jb 0x463df0
mov eax, dword [esp + 0x3c]
jmp 0x463da0
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1d
call fcn.00458d20
call fcn.005aece0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.0049b5b0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x463e96
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x463e96
mov dword [esp], eax
call fcn.004936c0
mov eax, 0xa
mov cl, 0x37
movzx ecx, cl
cmp ecx, 0x1e
je 0x463f10
cmp ecx, 0x37
je 0x463db0
mov ebx, 0x14
mov byte [esp + 0x5f], 0x68
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0041d2e0
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x463f5b
mov eax, 3
sub eax, ecx
xor eax, ecx
mov dword [esp + 0x68], ecx
je 0x463bf6
nop word cs:[eax + eax]
movzx eax, byte [esp + 0x5f]
cmp eax, 0x11
je 0x463890
jmp 0x464015
cmp eax, 0xa
jne 0x463ad0
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x463ad0
mov byte [esp + 0x5f], 0x68
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0041d2e0
mov ecx, dword [esp + 0x80]
test ecx, ecx
jne 0x463f52
mov eax, ecx
not eax
and eax, 1
add eax, ecx
jmp 0x463de0
mov dword [esp + 0x68], ecx
jmp 0x463dea
mov dword [esp + 0x68], ecx
jmp 0x463bf6
cmp eax, 5
jne 0x463ad0
mov byte [esp + 0x57], 0x7b
mov ebx, dword [esp + 0x4c]
mov dword [esp], ebx
call fcn.004353f0
movsd xmm0, qword [eax]
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx]
movsd qword [ecx + eax*8], xmm0
mov eax, dword [edx]
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne cl
movzx ecx, cl
add ecx, eax
mov dword [edx], ecx
mov dword [esp], ebx
call fcn.0041d2b0
mov dword [esp], ebx
call fcn.0041d2a0
test eax, eax
jne 0x463e30
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x463e30
nop dword [eax]
mov eax, 5
mov ecx, 0x13
movzx edx, byte [esp + 0x57]
cmp edx, 0x7b
jne 0x463f70
cmp ecx, 0xb
je 0x463e30
imul ecx, ecx
and ecx, 3
cmp ecx, 3
jne 0x463d20
jmp 0x463e30
cmp eax, 0x74
mov dword [esp + 0x80], 0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret