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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov dword [esp + 0x6c], ecx
mov esi, dword [ebp + 0x14]
mov eax, dword [0x4ad2c0]
xor eax, ebp
mov dword [esp + 0xc0], eax
mov eax, 0x594ffcb3
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x64], ecx
jmp 0x421400
vmovsd xmm0, qword [esp + 0x80]
mov eax, 0xcf69dd99
nop word [eax + eax]
cmp eax, 0x27e9bdf9
jle 0x421450
cmp eax, 0x594ffcb2
jle 0x4214d0
cmp eax, 0x6f33ab75
jg 0x421606
cmp eax, 0x594ffcb3
je 0x4216d9
cmp eax, 0x61c67a4c
je 0x421796
cmp eax, 0x66c03d83
jne 0x421400
mov eax, 0x90635f90
jmp 0x421400
cmp eax, 0xa7ec7fb5
jle 0x4215c0
cmp eax, 0xcf69dd98
jg 0x42166c
cmp eax, 0xa7ec7fb6
je 0x4217b9
cmp eax, 0xad509a75
je 0x4217d1
cmp eax, 0xc86cc51f
jne 0x421400
mov edx, dword [0x4aefe8]
mov ecx, dword [0x4aefe4]
mov esi, 0x8171066f
mov edi, 0xcf69dd99
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test edx, eax
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
mov esi, dword [ebp + 0x14]
jmp 0x421400
cmp eax, 0x3884acf2
jle 0x42168c
cmp eax, 0x3884acf3
je 0x4217eb
cmp eax, 0x3c2afe86
je 0x42182c
cmp eax, 0x49eeddff
jne 0x421400
mov eax, dword [esp + 0x4c]
lea ecx, [esp + 0xa8]
mov dword [esp + 4], 0
add eax, 0x32
mov dword [esp], eax
call fcn.00432050
sub esp, 8
mov eax, dword [0x4af3f8]
mov edx, 0x40445780
lea ecx, [eax + 1]
imul eax, ecx
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
sete al
cmp dword [0x4af3f4], 0xa
setl cl
or cl, al
mov eax, 0xe6350323
mov ecx, 0xc55e8175
cmovne eax, ecx
mov ecx, 0xe6350323
cmovne ecx, edx
mov edx, 0xcb9a9286
nop dword [eax]
cmp edx, 0xcb9a9285
jle 0x421590
cmp edx, 0xcb9a9286
je 0x4215ab
cmp edx, 0xe6350323
je 0x4215af
cmp edx, 0x40445780
jne 0x421560
mov edx, eax
jmp 0x421560
cmp edx, 0x92fcba3a
je 0x42186a
cmp edx, 0xc55e8175
jne 0x421560
mov edx, 0x92fcba3a
jmp 0x421560
mov edx, ecx
jmp 0x421560
mov edx, 0x40445780
jmp 0x421560
cmp eax, 0x90635f8f
jle 0x4216ac
cmp eax, 0x90635f90
je 0x42195b
cmp eax, 0x964532f9
je 0x421999
cmp eax, 0x9cca02da
jne 0x421400
mov dword [esp + 0x50], 0xffffffff
mov eax, 0x3884acf3
mov dword [esp + 0x48], 0xffffffff
jmp 0x421400
cmp eax, 0x6f33ab76
je 0x4219bd
cmp eax, 0x7689b959
je 0x4219cb
cmp eax, 0x79ad7b9a
jne 0x421400
mov edx, dword [0x4aefe8]
mov ecx, dword [0x4aefe4]
mov edi, 0x90635f90
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x66c03d83
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x421400
cmp eax, 0xcf69dd99
je 0x421a07
cmp eax, 0xedfa4baf
jne 0x421ef1
mov eax, 0x275bd4c3
jmp 0x421400
cmp eax, 0x27e9bdfa
je 0x421a5c
cmp eax, 0x3131b4b6
jne 0x421400
mov eax, 0x3c2afe86
jmp 0x421400
cmp eax, 0x8171066f
je 0x4213e9
cmp eax, 0x853b2253
jne 0x421400
cmp byte [esp + 0x39], 0
mov eax, 0x49eeddff
mov ecx, 0x3131b4b6
cmovne eax, ecx
jmp 0x421400
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x54], eax
call fcn.00401220
mov eax, dword [0x4af3f8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
setne al
cmp dword [0x4af3f4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0xe6350323
or cl, dl
mov ecx, 0xc55e8175
mov edx, 0x40445780
cmovne eax, ecx
mov ecx, 0xe6350323
cmovne ecx, edx
mov edx, 0xcb9a9286
nop word cs:[eax + eax]
cmp edx, 0xcb9a9285
jle 0x421770
cmp edx, 0xcb9a9286
je 0x42178b
cmp edx, 0xe6350323
je 0x42178f
cmp edx, 0x40445780
jne 0x421740
mov edx, eax
jmp 0x421740
cmp edx, 0x92fcba3a
je 0x421a7d
cmp edx, 0xc55e8175
jne 0x421740
mov edx, 0x92fcba3a
jmp 0x421740
mov edx, ecx
jmp 0x421740
mov edx, 0x40445780
jmp 0x421740
movzx eax, byte [esp + 0x38]
cmp dword [esp + 0x44], 0x3000
mov ecx, 0x9cca02da
mov byte [esp + 0x37], al
mov eax, 0x6f33ab76
cmove eax, ecx
jmp 0x421400
vmovsd xmm0, qword [ebp + 0x1c]
mov eax, 0x964532f9
vmovsd qword [esp + 0x88], xmm0
jmp 0x421400
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x48], eax
mov eax, 0x3884acf3
jmp 0x421400
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.004380c0
movzx ecx, byte [esp + 0x37]
mov dword [esp + 0x4c], eax
mov edx, 0x49eeddff
mov dword [esp + 0x74], edi
mov eax, ecx
xor al, 0xfe
test al, cl
mov eax, 0xa7ec7fb6
cmove eax, edx
jmp 0x421400
vmovsd xmm0, qword [ebp + 0x1c]
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
vmovsd qword [esp], xmm0
call fcn.004431d2
fstp st(0)
mov eax, dword [esp + 0x9c]
mov ecx, eax
neg ecx
cmovs ecx, eax
imul eax, ecx, 0x7597
mov dword [esp + 0x7c], eax
mov eax, 0x27e9bdfa
jmp 0x421400
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004325c0
mov dword [esp + 0x40], eax
lea eax, [esp + 0xa8]
mov esi, 0x809569cc
mov dword [esp + 0x24], eax
mov eax, dword [0x4aeff8]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
setne al
cmp dword [0x4aeff4], 0xa
setge cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x78b19bb1
or cl, dl
mov ecx, 0x32b2cab9
mov edx, 0xa9cf5c0f
cmovne eax, ecx
mov ecx, 0x78b19bb1
cmovne ecx, edx
nop word cs:[eax + eax]
cmp esi, 0xa9cf5c0e
jle 0x421930
cmp esi, 0x78b19bb1
je 0x421945
cmp esi, 0x32b2cab9
je 0x421950
cmp esi, 0xa9cf5c0f
jne 0x421900
mov edx, dword [esp + 0x24]
mov esi, eax
add edx, 0x10
jmp 0x421900
cmp esi, 0x809569cc
je 0x421957
cmp esi, 0x88dcb8bb
jne 0x421900
jmp 0x421aab
mov esi, dword [esp + 0x24]
mov esi, 0xa9cf5c0f
jmp 0x421900
mov esi, 0x88dcb8bb
jmp 0x421900
mov esi, ecx
jmp 0x421900
mov eax, dword [0x4aefe8]
mov edi, 0xad509a75
mov ebx, 0x66c03d83
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x66c03d83
sete cl
cmove eax, edi
cmp dword [0x4aefe4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, edi
jmp 0x421400
vmovsd xmm0, qword [esp + 0x88]
mov eax, 0xc86cc51f
vandpd xmm0, xmm0, xmmword [0x45b200]
vmovlpd qword [esp + 0x80], xmm0
jmp 0x421400
mov dword [esp + 0x78], esi
mov eax, 0x7689b959
jmp 0x421400
mov eax, dword [esp + 0x78]
add eax, 0x18
mov dword [esp + 0x24], eax
mov eax, 0x9f494c8a
nop dword [eax + eax]
cmp eax, 0x2cc4c95b
je 0x421b9b
cmp eax, 0x9f494c8a
jne 0x4219e0
mov eax, dword [esp + 0x24]
vmovsd xmm0, qword [eax]
mov eax, 0x2cc4c95b
vmovsd qword [esp + 0x28], xmm0
jmp 0x4219e0
vmovsd xmm0, qword [esp + 0x80]
mov eax, dword [0x4aefe8]
mov ebx, 0x853b2253
mov edi, 0x8171066f
vucomisd xmm0, qword [0x45b210]
lea ecx, [eax - 1]
seta byte [esp + 0x39]
imul ecx, eax
mov eax, 0x8171066f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4aefe4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, ebx
jmp 0x421400
mov eax, 0x14f8b589
imul dword [esp + 0x7c]
mov eax, edx
shr eax, 0x1f
sar edx, 0xd
add edx, eax
mov eax, 0x49eeddff
add dword [esp + 0x4c], edx
jmp 0x421400
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x14]
mov ecx, eax
xor ecx, 0xffffcfff
and ecx, eax
mov eax, 0x61c67a4c
cmp ecx, 0x2000
mov dword [esp + 0x44], ecx
sete byte [esp + 0x38]
jmp 0x421400
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, 0xbf7745bc
nop
cmp eax, 0xd40e719e
jle 0x421b20
cmp eax, 0xd40e719f
je 0x421b48
cmp eax, 0x2ba51479
je 0x421bb5
cmp eax, 0x79bd5c86
jne 0x421ac0
mov ebx, dword [esp + 0x24]
mov eax, dword [0x4aeff0]
mov esi, 0x2ba51479
mov edi, 0xd40e719f
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xd40e719f
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, esi
cmp dword [0x4aefec], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
jmp 0x421ac0
cmp eax, 0x91f49581
je 0x421b56
cmp eax, 0xbf7745bc
jne 0x421ac0
lea ecx, [esp + 0xa8]
call fcn.00418ff0
mov dword [esp + 0x24], eax
mov eax, 0x91f49581
jmp 0x421ac0
mov eax, dword [esp + 0x24]
mov eax, 0x79bd5c86
jmp 0x421ac0
mov edx, dword [0x4aeff0]
mov ecx, dword [0x4aefec]
mov edi, 0x79bd5c86
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0xd40e719f
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x421ac0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov eax, 0x79ad7b9a
jmp 0x421400
vmovsd xmm0, qword [ebp + 0x1c]
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], edx
mov dword [esp], eax
vmovsd qword [esp + 0x10], xmm0
call fcn.00427a80
mov dword [esp + 0x3c], eax
mov eax, 0x8190d6f2
nop word cs:[eax + eax]
cmp eax, 0x41913ee4
jle 0x421c80
cmp eax, 0x41913ee5
je 0x421c94
cmp eax, 0x51b770af
je 0x421cad
cmp eax, 0x786c1420
jne 0x421c00
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esp], xmm0
call fcn.004387a0
mov edx, dword [0x4aefe0]
mov esi, eax
mov ecx, dword [0x4aefdc]
mov edi, 0x41913ee5
lea eax, [edx + 1]
imul eax, edx
mov edx, eax
xor edx, 0xfffffffe
test edx, eax
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
mov ebx, 0x51b770af
cmovne edi, ebx
test edx, eax
mov eax, edi
cmove eax, ebx
cmp ecx, 0xa
cmovge eax, edi
jmp 0x421c00
cmp eax, 0x8190d6f2
je 0x421cb7
cmp eax, 0x99d0c107
jne 0x421c00
jmp 0x421cfc
vmovsd xmm0, qword [ebp + 0x1c]
vmovsd qword [esp], xmm0
call fcn.004387a0
mov eax, 0x786c1420
jmp 0x421c00
mov eax, 0x99d0c107
jmp 0x421c00
mov edx, dword [0x4aefe0]
mov ecx, dword [0x4aefdc]
mov edi, 0x786c1420
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x41913ee5
cmovne edx, edi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, edi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x421c00
mov dword [esp + 0x28], esi
mov edi, 0x5c9aaf39
mov esi, 0x7f527be5
mov eax, dword [esp + 0x28]
mov ecx, dword [0x4af13c]
mov dword [esp + 0x70], eax
mov eax, dword [0x4af140]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete al
sete byte [esp + 0x3a]
cmp ecx, 0xa
setl cl
setl byte [esp + 0x3b]
or cl, al
mov ecx, 0x5c9aaf39
mov eax, 0x536b75f6
cmovne ecx, eax
mov eax, 0x66bc5938
cmovne edi, eax
mov eax, 0xa8b75cdd
cmovne esi, eax
mov eax, 0x566d598b
jmp 0x421d70
mov eax, 0x8e909c8
nop dword [eax + eax]
mov edx, eax
cmp eax, 0x566d598a
jg 0x421db0
cmp edx, 0x8e909c7
jle 0x421de0
cmp edx, 0x536b75f6
je 0x421d63
mov eax, edi
cmp edx, 0x5626c73f
je 0x421d70
mov eax, edx
cmp edx, 0x8e909c8
jne 0x421d70
jmp 0x421e76
cmp edx, 0x66bc5937
jg 0x421e10
cmp edx, 0x566d598b
je 0x421e30
mov eax, edx
cmp edx, 0x5c9aaf39
jne 0x421d70
mov eax, dword [esp + 0x24]
mov eax, 0x66bc5938
jmp 0x421d70
cmp edx, 0xa8b75cdd
je 0x421e5d
mov eax, edx
cmp edx, 0xeb6e8c62
jne 0x421d70
lea eax, [esp + 0xa8]
mov dword [esp + 0x24], eax
mov eax, esi
jmp 0x421d70
cmp edx, 0x66bc5938
je 0x421e67
mov eax, edx
cmp edx, 0x7f527be5
jne 0x421d70
mov eax, 0xeb6e8c62
jmp 0x421d70
movzx edx, byte [esp + 0x3a]
mov dh, byte [esp + 0x3b]
mov ebx, 0xeb6e8c62
mov eax, edx
xor al, dh
mov eax, 0xeb6e8c62
jne 0x421e4e
mov ebx, 0x7f527be5
test dh, dh
cmove eax, ebx
test dl, dl
cmove eax, ebx
jmp 0x421d70
mov eax, 0x5626c73f
jmp 0x421d70
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, ecx
jmp 0x421d70
mov eax, dword [esp + 0x40]
xor ebx, ebx
cmp dword [esp + 0x70], 0
mov dword [esp + 0x28], eax
setle bl
mov ecx, dword [esp + 0x28]
call fcn.004103a0
mov ecx, dword [esp + 0x64]
movsx esi, byte [ebp + 0x18]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x54]
vmovsd xmm0, qword [esp + 0x94]
vmovsd qword [esp + 4], xmm0
mov dword [esp + 0x10], esi
mov esi, dword [ebp + 0x14]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], edx
mov edx, dword [ebp + 8]
mov dword [esp], edx
call fcn.004339a0
sub esp, 0x20
mov eax, 0xedfa4baf
jmp 0x421400
cmp eax, 0x275bd4c3
jne 0x421400
mov eax, 0xe5982db4
mov esi, 0x5e2edcb5
mov ebx, 0x1f072494
nop dword [eax + eax]
cmp eax, 0xfbeba97
je 0x422005
cmp eax, 0xe5982db4
jne 0x421f10
lea ecx, [esp + 0xa8]
call fcn.004096d0
mov ecx, dword [0x4af450]
lea eax, [ecx + 1]
imul eax, ecx
test al, 1
sete cl
cmp dword [0x4af44c], 0xa
setge dl
setl ch
or dl, al
xor ch, cl
mov eax, 0xe155e4a7
not dl
or dl, ch
mov ecx, 0xe155e4a7
test dl, 1
mov edx, 0xc5022d28
cmovne eax, esi
cmovne ecx, ebx
nop dword [eax]
cmp edx, 0xe155e4a6
jle 0x421fa0
cmp edx, 0xe155e4a7
je 0x421fb4
cmp edx, 0x5e2edcb5
je 0x421fbb
cmp edx, 0x1f072494
jne 0x421f70
mov edx, eax
jmp 0x421f70
cmp edx, 0xb65abd80
je 0x421fc2
cmp edx, 0xc5022d28
jne 0x421f70
mov edx, ecx
jmp 0x421f70
mov edx, 0x1f072494
jmp 0x421f70
mov edx, 0xb65abd80
jmp 0x421f70
mov eax, 0xb6c5bc6e
nop word [eax + eax]
cmp eax, 0xb6c5bc6e
je 0x421fe0
cmp eax, 0xca3adc25
jne 0x421fd0
jmp 0x421fe7
mov eax, 0xca3adc25
jmp 0x421fd0
lea eax, [esp + 0xa8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
call fcn.0040ab80
mov eax, 0xfbeba97
jmp 0x421f10
mov ecx, dword [esp + 0xc0]
xor ecx, ebp
call fcn.0043c4a0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c