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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x234
mov eax, dword [0x63c00c]
xor eax, esp
mov dword [esp + 0x230], eax
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
movsx eax, byte [ecx]
xor esi, esi
mov dword [esp + 0x6c], edx
xor edi, edi
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], edx
test eax, eax
je 0x41b1fb
movsd xmm0, qword [0x636898]
xorps xmm7, xmm7
movsd xmm2, qword [0x636a30]
movsd xmm4, qword [0x636890]
movsd xmm5, qword [0x636968]
movsd xmm6, qword [0x636878]
movsd xmm3, qword [0x6368b8]
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [0x6369b8]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [0x636870]
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [0x6368a0]
mov dword [esp + 0x2c], 1
mov dword [esp + 0x70], 0x154
mov dword [esp + 0x68], 0x136
mov dword [esp + 0x74], 0xa5
mov dword [esp + 0x60], 0x15e
mov dword [esp + 0x64], 0x64
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0x98], xmm7
movsd qword [esp + 0x80], xmm4
movsd qword [esp + 0x88], xmm5
movsd qword [esp + 0x90], xmm6
movsd qword [esp + 0x78], xmm3
movsd qword [esp + 0xd0], xmm0
cmp eax, 0x25
je 0x41a674
mov edx, dword [esp + 0x24]
mov edi, ecx
mov ecx, dword [esp + 0x2c]
inc edx
mov dword [esp + 0x24], edx
movsx eax, byte [edx]
mov dword [esp + 0x4c], eax
cmp eax, 0x25
je 0x41a625
test eax, eax
je 0x41a621
inc ecx
inc edx
movsx eax, byte [edx]
mov dword [esp + 0x4c], eax
cmp eax, 0x25
jne 0x41a60f
mov dword [esp + 0x24], edx
push ecx
mov ecx, dword [esp + 0x48]
mov edx, edi
call fcn.0041b253
cmp dword [esp + 0x50], 0
pop ecx
je 0x41b1fb
movsd xmm3, qword [esp + 0x78]
movsd xmm4, qword [esp + 0x80]
movsd xmm5, qword [esp + 0x88]
movsd xmm6, qword [esp + 0x90]
movsd xmm7, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xa0]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
movsx ecx, byte [ecx]
test ecx, ecx
je 0x41b1e8
xor edx, edx
mov ah, dl
mov byte [esp + 0x3f], dl
mov byte [esp + 0x3e], dl
mov byte [esp + 0x13], dl
mov byte [esp + 0x12], dl
mov byte [esp + 0x5c], dl
mov edx, dword [esp + 0x24]
mov byte [esp + 0x21], ah
mov eax, ecx
sub eax, 0x20
je 0x41a6f8
sub eax, 1
je 0x41a6ee
dec eax
sub eax, 1
je 0x41a6e4
sub eax, 8
je 0x41a6da
dec eax
sub eax, 1
je 0x41a6d0
sub eax, 3
jne 0x41a708
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x3f], al
jmp 0x41a700
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x5c], al
jmp 0x41a700
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x12], al
jmp 0x41a700
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x21], al
jmp 0x41a700
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x3e], al
jmp 0x41a700
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x13], al
inc edx
movsx ecx, byte [edx]
test ecx, ecx
jne 0x41a6a4
and dword [esp + 0x1c], 0
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
cmp ecx, 0x2a
jne 0x41a74c
mov eax, dword [edx]
add edx, 4
mov ecx, dword [esp + 0x5c]
test eax, eax
movzx ecx, cl
cmovs ecx, dword [esp + 0x2c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], edx
inc ecx
mov edx, eax
mov dword [esp + 0x24], ecx
neg edx
test eax, eax
movsx ecx, byte [ecx]
cmovns edx, eax
jmp 0x41a773
cmp ecx, 0x30
jl 0x41a78d
mov edx, dword [esp + 0x1c]
cmp ecx, 0x39
ja 0x41a773
imul eax, edx, 0xa
lea edx, [ecx - 0x30]
add edx, eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
movsx ecx, byte [eax]
cmp ecx, 0x30
jge 0x41a755
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x1c]
cmp eax, 0x154
mov edx, dword [esp + 0x14]
cmovg eax, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
cmp ecx, 0x2e
jne 0x41a7ea
mov ecx, dword [esp + 0x24]
xor eax, eax
inc ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
movsx ecx, byte [ecx]
cmp ecx, 0x2a
jne 0x41a7e3
mov eax, dword [esp + 0x24]
add edx, 4
inc eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], eax
movsx ecx, byte [eax]
mov eax, dword [edx - 4]
cdq
xor eax, edx
sub eax, edx
jmp 0x41a7ed
cmp ecx, 0x39
ja 0x41a7f1
imul eax, eax, 0xa
add ecx, 0xffffffd0
add eax, ecx
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
movsx ecx, byte [ecx]
cmp ecx, 0x30
jge 0x41a7c6
jmp 0x41a7f1
or eax, 0xffffffff
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x24]
cmp ecx, 0x6c
jne 0x41a828
mov al, byte [esp + 0x2c]
mov byte [esp + 0x23], al
mov eax, edx
inc eax
mov dword [esp + 0x24], eax
mov al, byte [eax]
cmp al, cl
jne 0x41a81a
lea ecx, [edx + 2]
mov dword [esp + 0x24], ecx
mov cl, byte [ecx]
jmp 0x41a81c
mov cl, al
sete al
movsx ecx, cl
mov byte [esp + 0x22], al
jmp 0x41a832
xor al, al
mov byte [esp + 0x22], al
mov byte [esp + 0x23], al
xor eax, eax
xor edx, edx
mov dword [esp + 0x40], eax
movsx eax, byte [edx + 0x631bf0]
cmp ecx, eax
je 0x41a859
inc dword [esp + 0x40]
add edx, 6
cmp edx, 0x8a
jb 0x41a83a
jmp 0x41b1fb
imul edx, dword [esp + 0x40], 6
add edx, 0x631bf0
cmp dword [esp + 0x6c], 0
mov dword [esp + 0x40], edx
jne 0x41a879
test byte [edx + 2], 2
jne 0x41b1fb
mov ch, byte [edx + 3]
xor eax, eax
mov byte [esp + 0x1b], ch
mov dword [esp + 0x30], eax
test edx, edx
je 0x41b1fb
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x68]
jle 0x41a8a9
mov eax, dword [esp + 0x40]
test byte [eax + 2], 4
cmove edx, dword [esp + 0x68]
mov dword [esp + 0x28], edx
movzx eax, ch
dec eax
cmp eax, 0xf
ja case.default.0x41a8b6
jmp dword [eax*4 + 0x41b213]
mov cl, byte [esp + 0x2c]
xor al, al
jmp 0x41a8cd
mov al, byte [esp + 0x22]
mov cl, byte [esp + 0x23]
mov edx, dword [esp + 0x40]
test byte [edx + 2], 1
je 0x41a932
mov edi, dword [esp + 0x14]
test al, al
je 0x41a8e9
mov ecx, dword [edi]
add edi, 8
mov esi, dword [edi - 4]
jmp 0x41a8fb
mov eax, dword [edi]
add edi, 4
cdq
test cl, cl
mov dword [esp + 0x14], edi
mov esi, edx
mov ecx, eax
jne 0x41a8ff
mov dword [esp + 0x14], edi
test esi, esi
jg 0x41a914
jl 0x41a909
test ecx, ecx
jae 0x41a914
neg ecx
mov dl, 0x2d
adc esi, 0
neg esi
jmp 0x41a95a
cmp byte [esp + 0x12], 0
mov dword [esp + 0x30], ecx
je 0x41a923
mov dl, 0x2b
jmp 0x41a95e
cmp byte [esp + 0x13], 0
sete dl
dec dl
and dl, 0x20
jmp 0x41a95e
test al, al
mov eax, dword [esp + 0x14]
je 0x41a944
mov ecx, dword [eax]
add eax, 8
mov esi, dword [eax - 4]
jmp 0x41a954
add eax, 4
xor esi, esi
test cl, cl
mov dword [esp + 0x14], eax
mov ecx, dword [eax - 4]
jne 0x41a958
mov dword [esp + 0x14], eax
xor dl, dl
mov dword [esp + 0x30], ecx
mov eax, ecx
mov byte [esp + 0x12], dl
or eax, esi
jne 0x41a96c
mov byte [esp + 0x21], al
cmp byte [esp + 0x3f], 0
je 0x41a991
mov ecx, dword [esp + 0x1c]
xor eax, eax
test dl, dl
setne al
sub ecx, eax
mov eax, dword [esp + 0x28]
cmp eax, ecx
cmovl eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], eax
cmp byte [esp + 0x1b], 0x10
lea edi, [esp + 0x235]
jne 0x41a9fd
push 0
push 0xa
pop eax
push eax
push esi
push ecx
call fcn.004640c0
mov edi, eax
cmp edi, 4
jge 0x41a9d8
push 0
push 0xa
pop eax
push eax
push esi
push dword [esp + 0x3c]
call fcn.00464050
push 0
push 0xa
push edx
push eax
call fcn.004640c0
cmp eax, dword [esp + 0x2c]
jne 0x41a9da
test edx, edx
jne 0x41a9da
xor edi, edi
mov al, byte [edi*2 + 0x62fb24]
mov byte [esp + 0x233], al
mov al, byte [edi*2 + 0x62fb25]
lea edi, [esp + 0x233]
mov byte [esp + 0x234], al
mov ecx, dword [esp + 0x40]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x50], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
push ebx
push edx
push ecx
push esi
push eax
dec edi
call fcn.00463b70
mov dword [esp + 0x38], ebx
pop ebx
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x4c]
mov byte [edi], al
mov eax, dword [esp + 0x30]
test esi, esi
ja 0x41aa21
jb 0x41aa56
test eax, eax
jne 0x41aa21
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0xd8]
sub eax, ecx
add eax, 0xfffffea3
add eax, edi
jmp 0x41aa71
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x41aa6c
mov al, byte [esp + 0x12]
test al, al
je 0x41aa80
dec edi
mov byte [edi], al
cmp byte [esp + 0x21], 0
je 0x41aaa6
mov eax, dword [esp + 0x40]
mov al, byte [eax + 5]
test al, al
je 0x41aaa6
movzx eax, al
add eax, 0x62faa4
jmp 0x41aaa0
dec edi
inc eax
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x41aa9c
lea esi, [esp + 0x235]
sub esi, edi
and dword [esp + 0x30], 0
mov eax, dword [esp + 0x1c]
cmp byte [esp + 0x5c], 0
jne 0x41aad3
mov edx, eax
sub edx, esi
test edx, edx
jle 0x41aad3
mov ecx, dword [esp + 0x44]
lfence
call fcn.0041a48f
test esi, esi
jle 0x41aae7
mov ecx, dword [esp + 0x44]
mov edx, edi
push esi
lfence
call fcn.0041b253
pop ecx
cmp byte [esp + 0x5c], 0
je 0x41ab06
mov eax, dword [esp + 0x1c]
sub eax, esi
test eax, eax
jle 0x41ab06
mov ecx, dword [esp + 0x44]
mov edx, eax
lfence
call fcn.0041a48f
mov eax, dword [esp + 0x30]
test eax, eax
je 0x41ab15
push eax
call fcn.0041a090
pop ecx
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [esp + 0x24], ecx
movsx eax, byte [ecx]
test eax, eax
je 0x41b1fb
movsd xmm3, qword [esp + 0x78]
movsd xmm4, qword [esp + 0x80]
movsd xmm5, qword [esp + 0x88]
movsd xmm6, qword [esp + 0x90]
movsd xmm7, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xa0]
jmp 0x41a5eb
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x14], eax
movsd xmm1, qword [eax - 8]
movsd qword [esp + 0x50], xmm1
test edx, edx
jns 0x41ab80
push 6
pop edx
jmp 0x41ab89
cmp edx, dword [esp + 0x74]
cmovg edx, dword [esp + 0x74]
comisd xmm7, xmm1
mov dword [esp + 0x28], edx
jbe 0x41aba3
xorps xmm1, xmm2
mov byte [esp + 0x13], 0x2d
movsd qword [esp + 0x50], xmm1
jmp 0x41abc1
cmp byte [esp + 0x12], 0
je 0x41abb1
mov byte [esp + 0x13], 0x2b
jmp 0x41abc1
cmp byte [esp + 0x13], 0
sete al
dec al
and al, 0x20
mov byte [esp + 0x13], al
cmp ch, 4
jne 0x41abcf
test edx, edx
je 0x41abcf
dec edx
mov dword [esp + 0x28], edx
movsd xmm2, qword [esp + 0xb8]
mov eax, edx
mov byte [esp + 0x12], ch
mov cl, ch
test edx, edx
jle 0x41abf9
mov esi, dword [esp + 0x40]
mov dword [esp + 0x40], esi
mov byte [esp + 0x12], ch
dec eax
mulsd xmm2, xmm4
test eax, eax
jg 0x41abf0
cmp cl, 2
jne 0x41ac0b
movaps xmm0, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
xor ecx, ecx
movaps xmm0, xmm1
mov dword [esp + 0x30], ecx
call fcn.0041bcfe
test eax, eax
je 0x41ac2e
and dword [esp + 0x30], ecx
mov edi, 0x633168
push 3
pop esi
jmp case.default.0x41a8b6
comisd xmm1, xmm7
jbe 0x41ad20
movsd xmm0, qword [esp + 0xc0]
comisd xmm1, xmm0
mov eax, dword [esp + 0x60]
jb 0x41ac6f
movsd xmm7, qword [esp + 0xc8]
cmp ecx, eax
jg 0x41ac6b
mulsd xmm1, xmm7
add ecx, 0x20
comisd xmm1, xmm0
movsd qword [esp + 0x50], xmm1
jae 0x41ac54
mov dword [esp + 0x30], ecx
comisd xmm1, xmm5
jb 0x41ac90
cmp ecx, eax
jg 0x41ac8c
mulsd xmm1, xmm6
add ecx, 8
comisd xmm1, xmm5
movsd qword [esp + 0x50], xmm1
jae 0x41ac75
mov dword [esp + 0x30], ecx
comisd xmm1, xmm3
jb 0x41acaf
cmp ecx, eax
jg 0x41acab
mulsd xmm1, xmm4
inc ecx
comisd xmm1, xmm3
movsd qword [esp + 0x50], xmm1
jae 0x41ac96
mov dword [esp + 0x30], ecx
comisd xmm6, xmm1
jbe 0x41accc
mulsd xmm1, xmm5
sub ecx, 8
comisd xmm6, xmm1
ja 0x41acb5
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x30], ecx
movsd xmm0, qword [esp + 0xd0]
comisd xmm0, xmm1
jbe 0x41acf0
mulsd xmm1, xmm3
dec ecx
comisd xmm0, xmm1
ja 0x41acdb
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x30], ecx
cmp ecx, eax
jle 0x41ad20
mov al, byte [esp + 0x13]
cmp al, 0x2d
jne 0x41ad03
mov edi, str._Inf
jmp 0x41ad12
cmp al, 0x2b
mov edi, str.Inf
mov ecx, 0x63317c
cmovne edi, ecx
push edi
call fcn.00457a20
pop ecx
mov esi, eax
jmp 0x41aaaf
mov al, byte [esp + 0x12]
cmp al, 2
je 0x41ad71
addsd xmm2, xmm1
comisd xmm2, xmm3
movsd qword [esp + 0x50], xmm2
jb 0x41ad47
mulsd xmm2, xmm4
inc ecx
mov dword [esp + 0x30], ecx
movsd qword [esp + 0x50], xmm2
cmp al, 4
jne 0x41ad71
mov ah, byte [esp + 0x21]
test ah, ah
sete byte [esp + 0x23]
cmp ecx, 0xfffffffc
jl 0x41ad69
cmp ecx, edx
jg 0x41ad69
sub edx, ecx
add al, 0xfe
mov dword [esp + 0x28], edx
jmp 0x41ad6b
mov al, 3
mov byte [esp + 0x12], al
jmp 0x41ad7a
mov ah, byte [esp + 0x21]
mov byte [esp + 0x23], 0
xor edi, edi
lea esi, [esp + 0xd8]
cmp al, 3
cmovne edi, ecx
and dword [esp + 0x48], 0
movzx ecx, byte [esp + 0xd8]
test edx, edx
setg al
or al, byte [esp + 0x3e]
or al, ah
cmp byte [esp + 0x13], 0
mov byte [esp + 0x22], al
movzx eax, byte [esp + 0x13]
cmovne ecx, eax
lea eax, [esp + 0xd9]
cmovne esi, eax
mov byte [esp + 0xd8], cl
test edi, edi
jns 0x41adcc
mov byte [esi], 0x30
inc esi
jmp 0x41ade5
lea edx, [esp + 0x48]
lea ecx, [esp + 0x50]
call fcn.0041a459
mov byte [esi], al
inc esi
sub edi, 1
jns 0x41adcc
mov edx, dword [esp + 0x28]
cmp byte [esp + 0x22], 0
je 0x41adf0
mov byte [esi], 0x2e
inc esi
add edi, 1
jns 0x41ae26
neg edi
push edi
push 0x30
push esi
call fcn.0044f970
mov edx, dword [esp + 0x34]
add esp, 0xc
add esi, edi
sub edx, edi
jmp 0x41ae26
dec edx
lea ecx, [esp + 0x50]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x48]
call fcn.0041a459
mov edx, dword [esp + 0x28]
mov byte [esi], al
inc esi
test edx, edx
jg 0x41ae0d
cmp byte [esp + 0x23], 0
je 0x41ae5e
cmp byte [esp + 0x22], 0
je 0x41ae5e
jmp 0x41ae3f
mov esi, eax
mov byte [esi], 0
lea eax, [esi - 1]
cmp byte [eax], 0x30
je 0x41ae3a
cmp byte [esi - 1], 0x2e
jne 0x41ae5e
cmp byte [esp + 0x3e], 0
je 0x41ae5a
mov byte [esi], 0x30
inc esi
jmp 0x41ae5e
dec esi
mov byte [esi], 0
cmp byte [esp + 0x1b], 3
je 0x41ae6c
cmp byte [esp + 0x12], 3
jne 0x41aec9
mov eax, dword [esp + 0x40]
lea edi, [esi + 2]
movzx eax, byte [eax + 4]
mov al, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], al
mov eax, dword [esp + 0x30]
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
cmp dword [esp + 0x30], 0
setl al
lea eax, [eax*2 + 0x2b]
mov byte [esi + 1], al
mov esi, edi
cmp ecx, dword [esp + 0x64]
jl 0x41aeb4
mov eax, ecx
lea esi, [edi + 1]
cdq
idiv dword [esp + 0x64]
add al, 0x30
mov ecx, edx
mov byte [edi], al
mov eax, ecx
push 0xa
cdq
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 + 0xd8]
mov byte [esi], 0
sub esi, eax
mov edi, eax
cmp byte [esp + 0x3f], 0
je 0x41aaaf
and dword [esp + 0x30], 0
cmp byte [esp + 0x5c], 0
jne 0x41aad3
and dword [esp + 0x30], 0
mov eax, dword [esp + 0x1c]
cmp esi, eax
jge 0x41aabf
mov ecx, eax
mov edx, eax
sub ecx, esi
cmp eax, ecx
jl 0x41af20
mov esi, edi
sub esi, ecx
mov al, byte [esi + edx]
mov byte [esp + edx + 0xd8], al
dec edx
cmp edx, ecx
jge 0x41af11
xor eax, eax
cmp byte [esp + 0x13], al
setne al
test ecx, ecx
je 0x41af42
push ecx
lea edx, [esp + 0xdc]
add eax, edx
push 0x30
push eax
call fcn.0044f970
add esp, 0xc
mov esi, dword [esp + 0x1c]
jmp 0x41aaaf
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov ecx, dword [eax - 4]
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
xor eax, eax
xor esi, esi
mov dword [esp + 0x1c], eax
jmp 0x41aab8
mov esi, dword [esp + 0x2c]
lea edi, [esp + 0xd8]
mov byte [esp + 0xd8], 0x25
jmp case.default.0x41a8b6
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov cl, byte [eax - 4]
mov byte [esp + 0xd8], cl
test edx, edx
js 0x41afc3
cmp edx, dword [esp + 0x2c]
jle 0x41afbf
lea eax, [edx - 1]
push eax
push ecx
lea eax, [esp + 0xe1]
push eax
call fcn.0044f970
mov edx, dword [esp + 0x34]
add esp, 0xc
mov esi, edx
jmp 0x41afc7
mov esi, dword [esp + 0x2c]
lea edi, [esp + 0xd8]
jmp case.default.0x41a8b6
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov edi, dword [eax - 4]
test edi, edi
jne 0x41afec
mov edi, 0x633180
jmp 0x41affa
mov eax, dword [esp + 0x30]
cmp ch, 7
cmove eax, edi
mov dword [esp + 0x30], eax
test edx, edx
js 0x41b01c
xor esi, esi
test edx, edx
jle case.default.0x41a8b6
cmp byte [edi + esi], 0
je case.default.0x41a8b6
inc esi
cmp esi, edx
jl 0x41b008
jmp case.default.0x41a8b6
push edi
call fcn.00457a20
pop ecx
mov esi, eax
jmp case.default.0x41a8b6
push 0x27
pop eax
cmp ch, 0xf
mov ecx, dword [esp + 0x14]
push 0x22
pop edx
cmove eax, edx
add ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], eax
mov edi, dword [ecx - 4]
mov ecx, edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x48], edi
test edi, edi
jne 0x41b06c
cmp byte [esp + 0x1b], 0xb
mov ecx, str.NULL
mov edx, str._NULL_
cmovne ecx, edx
mov dword [esp + 0x48], ecx
movsx esi, byte [ecx]
xor edx, edx
and dword [esp + 0x40], edx
test esi, esi
je 0x41b0a9
mov edi, dword [esp + 0x40]
movzx eax, al
mov dword [esp + 0x50], eax
mov al, byte [esp + 0x1b]
mov byte [esp + 0x1b], al
cmp esi, dword [esp + 0x50]
lea eax, [edx + 1]
cmovne eax, edx
inc edi
mov edx, eax
movsx esi, byte [edi + ecx]
test esi, esi
jne 0x41b08c
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x30]
test edi, edi
je 0x41b0ba
cmp byte [esp + 0x1b], 0xb
jne 0x41b0ba
mov eax, dword [esp + 0x2c]
jmp 0x41b0bc
xor eax, eax
mov dword [esp + 0x28], eax
lea eax, [eax*2 + 1]
add eax, dword [esp + 0x40]
add eax, edx
cmp eax, 0x15e
jle 0x41b0f4
push eax
lfence
call fcn.00419cde
pop ecx
mov ecx, eax
mov dword [esp + 0x30], ecx
mov edi, ecx
test ecx, ecx
je 0x41b1fb
mov ecx, dword [esp + 0x48]
jmp 0x41b101
xor eax, eax
lea edi, [esp + 0xd8]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x28]
xor esi, esi
test edx, edx
je 0x41b115
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x2c]
mov byte [edi], al
movsx eax, byte [ecx]
test eax, eax
je 0x41b141
mov edx, dword [esp + 0x4c]
movzx edx, dl
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x28]
mov byte [esi + edi], al
inc esi
cmp eax, dword [esp + 0x50]
jne 0x41b139
mov byte [esi + edi], al
inc esi
inc ecx
movsx eax, byte [ecx]
test eax, eax
jne 0x41b12b
test edx, edx
je 0x41b14d
mov eax, dword [esp + 0x4c]
mov byte [esi + edi], al
inc esi
mov byte [esi + edi], 0
jmp case.default.0x41a8b6
mov eax, dword [esp + 0x14]
add eax, 4
mov dword [esp + 0x14], eax
mov edx, dword [eax - 4]
test edx, edx
je 0x41af62
mov eax, dword [edx + 4]
mov edx, dword [edx]
mov ecx, dword [esp + 0x44]
shr eax, 1
push eax
call fcn.0041b253
pop ecx
jmp 0x41af62
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 8]
imul esi, dword [eax - 4], 0x30
mov dword [esp + 0x48], eax
mov eax, dword [ecx]
mov dword [esp + 0x50], eax
mov edx, dword [esi + eax + 8]
test edx, edx
je 0x41b1c3
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
call fcn.0041b253
pop ecx
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, 0x633194
call fcn.0041b253
mov eax, dword [esp + 0x54]
pop ecx
mov edx, dword [esi + eax + 0xc]
mov ecx, dword [esp + 0x44]
push 0xffffffffffffffff
call fcn.0041b253
pop ecx
mov ecx, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 0x14], ecx
jmp 0x41aab8
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, 0x633164
call fcn.0041b253
pop ecx
mov ecx, dword [esp + 0x23c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0044daed
mov esp, ebp
pop ebp
ret