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

Disassembly:
movsd xmm3, qword [0x4bb630]
cmp eax, 0x25
je 0x428081
xor eax, eax
inc eax
mov edi, edx
inc edx
mov dword [esp + 0x24], edx
movsx esi, byte [edx]
cmp esi, 0x25
je 0x428060
test esi, esi
je 0x42805c
inc eax
inc edx
movsx esi, byte [edx]
cmp esi, 0x25
jne 0x42804e
mov dword [esp + 0x24], edx
push eax
mov edx, edi
call fcn.00428b4f
pop ecx
test esi, esi
je 0x428af7
movsd xmm3, qword [0x4bb630]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
inc edx
movsx ecx, byte [edx]
test ecx, ecx
je 0x428ae6
xor al, al
xor ah, ah
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], al
mov byte [esp + 0x18], ah
xor eax, eax
mov byte [esp + 0x17], al
mov byte [esp + 0x1b], al
mov byte [esp + 0x1a], al
mov eax, ecx
sub eax, 0x20
je 0x4280ea
dec eax
je 0x4280e3
dec eax
dec eax
je 0x4280dc
sub eax, 8
je 0x4280d5
dec eax
dec eax
je 0x4280ce
sub eax, 3
jne 0x4280f7
mov byte [esp + 0x2b], 1
jmp 0x4280ef
mov byte [esp + 0x1a], 1
jmp 0x4280ef
mov byte [esp + 0x1b], 1
jmp 0x4280ef
mov byte [esp + 0x18], 1
jmp 0x4280ef
mov byte [esp + 0x2a], 1
jmp 0x4280ef
mov byte [esp + 0x17], 1
inc edx
movsx ecx, byte [edx]
test ecx, ecx
jne 0x4280ab
xor eax, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
cmp ecx, 0x2a
jne 0x428120
mov eax, dword [esi]
add esi, 4
mov dword [esp + 0x10], esi
test eax, eax
jns 0x42811a
mov byte [esp + 0x1a], 1
neg eax
inc edx
movsx ecx, byte [edx]
jmp 0x42813b
cmp ecx, 0x30
jl 0x42814c
cmp ecx, 0x39
jg 0x42813b
imul eax, eax, 0xa
add ecx, 0xffffffd0
add eax, ecx
inc edx
movsx ecx, byte [edx]
cmp ecx, 0x30
jge 0x428125
cmp eax, dword [esp + 0x6c]
mov dword [esp + 0x24], edx
cmovg eax, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
cmp ecx, 0x2e
jne 0x4281b3
mov eax, dword [esp + 0x24]
xor edx, edx
inc eax
mov dword [esp + 0x1c], edx
movsx ecx, byte [eax]
mov dword [esp + 0x24], eax
cmp ecx, 0x2a
jne 0x42818d
mov edx, dword [esi]
add esi, 4
mov dword [esp + 0x10], esi
mov dword [esp + 0x1c], edx
test edx, edx
jns 0x42817f
neg edx
mov dword [esp + 0x1c], edx
mov esi, dword [esp + 0x24]
inc esi
mov dword [esp + 0x24], esi
movsx ecx, byte [esi]
jmp 0x4281be
mov esi, dword [esp + 0x24]
jmp 0x4281ac
cmp ecx, 0x39
jg 0x4281be
imul edx, edx, 0xa
add ecx, 0xffffffd0
add edx, ecx
inc esi
mov dword [esp + 0x1c], edx
movsx ecx, byte [esi]
mov dword [esp + 0x24], esi
cmp ecx, 0x30
jge 0x428193
jmp 0x4281be
mov esi, dword [esp + 0x24]
or edx, 0xffffffff
mov dword [esp + 0x1c], edx
cmp ecx, 0x6c
jne 0x4281ec
inc esi
mov al, 1
movsx ecx, byte [esi]
mov byte [esp + 0x19], al
mov dword [esp + 0x24], esi
cmp ecx, 0x6c
jne 0x4281e4
inc esi
mov byte [esp + 0xe], al
movsx ecx, byte [esi]
mov dword [esp + 0x24], esi
jmp 0x4281f6
xor al, al
mov byte [esp + 0xe], al
jmp 0x4281f6
xor al, al
mov byte [esp + 0xe], al
mov byte [esp + 0x19], al
mov esi, dword [esp + 0x60]
xor eax, eax
mov dword [esp + 0x38], esi
mov byte [esp + 0xf], 0
mov dword [esp + 0x3c], eax
movsx eax, byte [esi]
cmp ecx, eax
je 0x42822a
add esi, dword [esp + 0x5c]
inc dword [esp + 0x3c]
cmp esi, 0x4ad992
jl 0x428209
mov cl, byte [esp + 0xf]
mov esi, dword [esp + 0x38]
jmp 0x428253
mov esi, dword [esp + 0x3c]
imul esi, esi, 6
add esi, 0x4ad908
cmp dword [esp + 0x70], 0
mov dword [esp + 0x38], esi
jne 0x42824c
test byte [esi + 2], 2
jne 0x428af7
mov cl, byte [esi + 3]
mov byte [esp + 0xf], cl
mov eax, dword [esp + 0x74]
and dword [esp + 0x3c], 0
cmp edx, eax
jle 0x42826b
test byte [esi + 2], 4
cmove edx, eax
mov dword [esp + 0x1c], edx
movzx eax, cl
dec eax
cmp eax, 0xf
ja 0x428af7
jmp dword [eax*4 + 0x45728b]
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x1a], 0
jne 0x428480
mov edx, eax
sub edx, esi
test edx, edx
jle 0x428480
mov ecx, dword [esp + 0x2c]
call fcn.00427f75
test esi, esi
jle 0x428491
mov ecx, dword [esp + 0x2c]
push esi
mov edx, edi
call fcn.00428b4f
pop ecx
cmp byte [esp + 0x1a], 0
je 0x4284ad
mov ecx, dword [esp + 0x20]
sub ecx, esi
test ecx, ecx
jle 0x4284ad
mov edx, ecx
mov ecx, dword [esp + 0x2c]
call fcn.00427f75
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4284bc
push eax
call fcn.00427b44
pop ecx
mov edx, dword [esp + 0x24]
inc edx
movsx eax, byte [edx]
test eax, eax
je 0x428af7
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
jmp 0x42802f
lea edx, [esp + 0x44]
lea ecx, [esp + 0x48]
call fcn.00427f40
mov byte [esi], al
inc esi
dec edi
jns 0x428743
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0x17]
test al, al
je 0x428766
mov byte [esi], 0x2e
inc esi
inc edi
jns 0x42879a
neg edi
push edi
push 0x30
push esi
call 0x3ea8f4
mov edx, dword [esp + 0x28]
add esp, 0xc
add esi, edi
sub edx, edi
jmp 0x42879a
dec edx
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x44]
lea ecx, [esp + 0x48]
call fcn.00427f40
mov edx, dword [esp + 0x1c]
mov byte [esi], al
inc esi
test edx, edx
jg 0x428781
cmp byte [esp + 0x19], 0
je 0x4287d2
cmp byte [esp + 0x17], 0
je 0x4287d2
jmp 0x4287b3
mov esi, eax
mov byte [esi], 0
lea eax, [esi - 1]
cmp byte [eax], 0x30
je 0x4287ae
cmp byte [esi - 1], 0x2e
jne 0x4287d2
cmp byte [esp + 0x2a], 0
je 0x4287ce
mov byte [esi], 0x30
inc esi
jmp 0x4287d2
dec esi
mov byte [esi], 0
cmp byte [esp + 0x1b], 0
jne 0x4287e0
cmp byte [esp + 0xf], 3
jne 0x428831
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
movzx eax, byte [eax + 4]
mov al, byte [eax + 0x4aff34]
mov byte [esi], al
test edx, edx
jns 0x428803
mov byte [esi + 1], 0x2d
add esi, 2
neg edx
jmp 0x42880a
mov byte [esi + 1], 0x2b
add esi, 2
mov ecx, dword [esp + 0x68]
cmp edx, ecx
jl 0x42881c
mov eax, edx
cdq
idiv ecx
add al, 0x30
mov byte [esi], al
inc esi
mov eax, edx
cdq
push 0xa
pop ecx
idiv ecx
add al, 0x30
add dl, 0x30
mov byte [esi], al
mov byte [esi + 1], dl
add esi, 2
lea eax, [esp + 0x78]
mov byte [esi], 0
sub esi, eax
mov edi, eax
mov al, byte [esp + 0x2b]
test al, al
invalid
invalid
invalid