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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x124
mov eax, dword [0x1029912c]
xor eax, esp
mov dword [esp + 0x120], eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push ebx
push esi
test byte [edx + 0x15], 2
mov esi, dword [ebp + 0xc]
push edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x1c], 0
je 0x100e05f0
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x30], ecx
mov dword [esp + 0x70], eax
mov byte [esp + 0x22], 1
jmp 0x100e05f5
mov byte [esp + 0x22], 0
movsx eax, byte [esi]
test eax, eax
je case.default.0x100e0a75
movsd xmm0, qword [0x1027a8f0]
movsd xmm5, qword [0x1027a298]
movsd qword [esp + 0xa0], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x90], xmm0
movsd xmm0, qword [0x1027a218]
movsd qword [esp + 0xb0], xmm0
movsd xmm0, qword [0x1027a1f8]
movsd qword [esp + 0x98], xmm0
movsd xmm0, qword [0x1027a248]
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [0x1027a3d8]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [0x1027a388]
movsd qword [esp + 0xc8], xmm0
movsd xmm0, qword [0x1027a1d0]
movsd qword [esp + 0xd0], xmm0
movsd xmm0, qword [0x1027a360]
movsd qword [esp + 0x88], xmm5
movsd qword [esp + 0xd8], xmm0
cmp eax, 0x25
je 0x100e0703
mov edi, esi
mov dword [esp + 0x1c], edi
mov al, byte [esi + 1]
inc esi
test al, al
je 0x100e06bc
cmp al, 0x25
jne 0x100e06b0
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [edx + 0x10]
sub ecx, edi
add edx, ecx
cmp edx, dword [eax + 8]
jb 0x100e06dd
push ecx
mov edx, edi
mov ecx, eax
call fcn.100e2180
add esp, 4
jmp 0x100e06f6
test ecx, ecx
je 0x100e06f6
mov dword [eax + 0x10], edx
mov eax, dword [eax + 4]
push ecx
sub eax, ecx
add eax, edx
push edi
push eax
call fcn.101ec960
add esp, 0xc
cmp byte [esi], 0
je case.default.0x100e0a75
mov edx, dword [esp + 0x18]
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x74], esi
test ecx, ecx
je 0x100e1ef6
or edi, 0xffffffff
mov byte [esp + 0x3b], 0
mov byte [esp + 0x29], 0
mov byte [esp + 0x2b], 0
mov byte [esp + 0x2a], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x2c], 0
mov byte [esp + 0x43], 0
mov dword [esp + 0x44], edi
nop word [eax + eax]
lea eax, [ecx - 0x20]
cmp eax, 0x4c
ja case.0x100e0763.34
movzx eax, byte [eax + 0x100e1f7c]
jmp dword [eax*4 + 0x100e1f4c]
mov byte [esp + 0x17], 1
jmp 0x100e09eb
mov byte [esp + 0x21], 0x2b
jmp 0x100e09eb
mov byte [esp + 0x21], 0x20
jmp 0x100e09eb
mov byte [esp + 0x2b], 1
jmp 0x100e09eb
mov byte [esp + 0x29], 1
jmp 0x100e09eb
mov byte [esp + 0x3b], 1
jmp 0x100e09eb
mov byte [esp + 0x2a], 0x2c
jmp 0x100e09eb
inc esi
lea edx, [ecx - 0x30]
mov dword [esp + 0x74], esi
movsx ecx, byte [esi]
cmp ecx, 0x30
jl 0x100e07db
cmp ecx, 0x39
jg 0x100e07d7
lea edx, [edx + edx*4]
inc esi
lea edx, [edx - 0x18]
lea edx, [ecx + edx*2]
movsx ecx, byte [esi]
cmp ecx, 0x30
jge 0x100e07c0
mov dword [esp + 0x74], esi
and edx, 0x7fffffff
mov dword [esp + 0x2c], edx
cmp ecx, 0x2e
je 0x100e09ea
jmp 0x100e09e5
cmp byte [esp + 0x22], 0
je 0x100e088f
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 4]
cmp dword [eax], edx
jg 0x100e081b
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x50]
jmp 0x100e089d
mov eax, dword [eax + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov edx, dword [esp + 0x70]
mov dword [edx + 4], eax
movzx eax, word [ecx + 8]
test al, 4
je 0x100e0844
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
mov dword [esp + 0x54], edx
mov edx, eax
mov dword [esp + 0x2c], eax
jmp 0x100e08a1
test al, 8
je 0x100e085d
movsd xmm0, qword [ecx]
call fcn.100ff4d0
mov dword [esp + 0x54], edx
mov edx, eax
mov dword [esp + 0x2c], eax
jmp 0x100e08a1
test al, 0x12
je 0x100e0872
call fcn.100ff530
mov dword [esp + 0x54], edx
mov edx, eax
mov dword [esp + 0x2c], eax
jmp 0x100e08a1
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov edx, eax
mov dword [esp + 0x2c], eax
jmp 0x100e08a1
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x30], eax
mov edx, dword [eax - 4]
mov dword [esp + 0x2c], edx
test edx, edx
jns 0x100e08c2
mov byte [esp + 0x17], 1
cmp edx, 0x80000001
jl 0x100e08ba
neg edx
mov dword [esp + 0x2c], edx
jmp 0x100e08c2
mov dword [esp + 0x2c], 0
movsx ecx, byte [esi + 1]
lea eax, [esi + 1]
cmp ecx, 0x2e
je 0x100e09eb
cmp ecx, 0x6c
je 0x100e09eb
mov dword [esp + 0x74], eax
jmp case.0x100e0763.34
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x74], esi
cmp ecx, 0x2a
jne 0x100e09b4
cmp byte [esp + 0x22], 0
je 0x100e0973
mov edi, dword [esp + 0x70]
mov edx, dword [edi + 4]
cmp dword [edi], edx
jg 0x100e0917
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edi, dword [esp + 0x50]
jmp 0x100e0981
mov eax, dword [edi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [edi + 4], eax
movzx eax, word [ecx + 8]
test al, 4
je 0x100e0936
mov edx, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x54], edx
jmp 0x100e0981
test al, 8
je 0x100e094b
movsd xmm0, qword [ecx]
call fcn.100ff4d0
mov edi, eax
mov dword [esp + 0x54], edx
jmp 0x100e0981
test al, 0x12
je 0x100e095c
call fcn.100ff530
mov edi, eax
mov dword [esp + 0x54], edx
jmp 0x100e0981
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x50]
mov dword [esp + 0x54], edx
jmp 0x100e0981
mov eax, dword [esp + 0x30]
add eax, 4
mov dword [esp + 0x30], eax
mov edi, dword [eax - 4]
mov dword [esp + 0x44], edi
test edi, edi
jns 0x100e09a9
cmp edi, 0x80000001
jl 0x100e09a2
movsx ecx, byte [esi + 1]
neg edi
inc esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x74], esi
jmp 0x100e09e5
or edi, 0xffffffff
mov dword [esp + 0x44], edi
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x74], esi
jmp 0x100e09e5
xor edi, edi
cmp ecx, 0x30
jl 0x100e09db
nop dword [eax + eax]
cmp ecx, 0x39
jg 0x100e09d7
lea edi, [edi + edi*4]
inc esi
lea edi, [edi - 0x18]
lea edi, [ecx + edi*2]
movsx ecx, byte [esi]
cmp ecx, 0x30
jge 0x100e09c0
mov dword [esp + 0x74], esi
and edi, 0x7fffffff
mov dword [esp + 0x44], edi
cmp ecx, 0x6c
jne case.0x100e0763.34
dec esi
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x74], esi
test ecx, ecx
jne 0x100e0750
jmp case.0x100e0763.34
movsx ecx, byte [esi + 1]
inc esi
mov byte [esp + 0x43], 1
mov dword [esp + 0x74], esi
cmp ecx, 0x6c
jne case.0x100e0763.34
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x74], esi
mov byte [esp + 0x43], 2
mov dword [esp + 0x78], 0x10266838
xor esi, esi
mov byte [esp + 0x23], 0x11
mov edx, 0x10266838
movsx eax, byte [edx]
cmp ecx, eax
je 0x100e0a50
add edx, 6
inc esi
cmp edx, 0x102668c2
jl 0x100e0a33
mov dl, byte [esp + 0x23]
mov ecx, dword [esp + 0x78]
jmp 0x100e0a69
lea eax, [esi + esi*2]
mov dl, byte [eax*2 + 0x1026683b]
lea ecx, [eax*2 + 0x10266838]
mov dword [esp + 0x78], ecx
mov byte [esp + 0x23], dl
movzx eax, dl
cmp eax, 0x10
ja case.default.0x100e0a75
jmp dword [eax*4 + 0x100e1fcc]
mov al, 1
mov byte [esp + 0x43], al
mov byte [esp + 0x2a], 0
test byte [ecx + 2], 1
je 0x100e0b98
cmp byte [esp + 0x22], 0
je 0x100e0b31
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x100e0ac9
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov cl, byte [esp + 0x21]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jmp 0x100e0c45
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
movzx eax, word [ecx + 8]
test al, 4
je 0x100e0aec
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jmp 0x100e0b55
test al, 8
je 0x100e0b03
movsd xmm0, qword [ecx]
call fcn.100ff4d0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jmp 0x100e0b55
test al, 0x12
je 0x100e0b16
call fcn.100ff530
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jmp 0x100e0b55
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
jmp 0x100e0b55
mov al, byte [esp + 0x43]
mov ecx, dword [esp + 0x30]
test al, al
je 0x100e0b4b
cmp al, 2
jne 0x100e0b4b
mov eax, dword [ecx]
add ecx, 8
mov edx, dword [ecx - 4]
jmp 0x100e0b51
mov eax, dword [ecx]
add ecx, 4
cdq
mov dword [esp + 0x30], ecx
test edx, edx
jg 0x100e0ab8
jl 0x100e0b67
test eax, eax
jae 0x100e0ab8
test eax, eax
jne 0x100e0b82
cmp edx, 0x80000000
jne 0x100e0b82
mov dword [esp + 0x48], edx
mov cl, 0x2d
mov dword [esp + 0x3c], eax
jmp 0x100e0c41
neg eax
mov cl, 0x2d
mov dword [esp + 0x3c], eax
adc edx, 0
neg edx
mov dword [esp + 0x48], edx
jmp 0x100e0c41
cmp byte [esp + 0x22], 0
je 0x100e0c12
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x100e0bf7
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
movzx eax, word [ecx + 8]
test al, 4
je 0x100e0bcd
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
jmp 0x100e0c3f
test al, 8
je 0x100e0be4
movsd xmm0, qword [ecx]
call fcn.100ff4d0
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
jmp 0x100e0c3f
test al, 0x12
je 0x100e0bf7
call fcn.100ff530
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
jmp 0x100e0c3f
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x48], edx
mov dword [esp + 0x3c], eax
jmp 0x100e0c3f
mov al, byte [esp + 0x43]
mov ecx, dword [esp + 0x30]
test al, al
je 0x100e0c2c
cmp al, 2
jne 0x100e0c2c
mov eax, dword [ecx]
add ecx, 8
mov edx, dword [ecx - 4]
jmp 0x100e0c33
mov eax, dword [ecx]
add ecx, 4
xor edx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edx
xor cl, cl
mov byte [esp + 0x21], cl
or eax, edx
jne 0x100e0c4d
mov byte [esp + 0x2b], al
cmp byte [esp + 0x3b], 0
je 0x100e0c6a
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x2c]
setne al
sub ecx, eax
cmp edi, ecx
cmovl edi, ecx
mov dword [esp + 0x44], edi
cmp edi, 0x25
jge 0x100e0c88
mov eax, 0x46
lea ecx, [esp + 0xe0]
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
jmp 0x100e0d1e
mov eax, edi
cdq
add eax, 0xa
mov ecx, edx
mov dword [esp + 0x34], eax
adc ecx, 0
cmp byte [esp + 0x2a], 0
je 0x100e0cb7
mov eax, 0x55555556
imul edi
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
add dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
adc ecx, edx
mov esi, dword [esp + 0x18]
test ecx, ecx
jl 0x100e0cdd
jg 0x100e1ed6
cmp eax, dword [esi + 8]
jbe 0x100e0cdd
test ecx, ecx
jg 0x100e1ed6
jl 0x100e0cdd
cmp eax, dword [esi + 0xc]
ja 0x100e1ed6
mov eax, dword [esi]
push ecx
push dword [esp + 0x38]
test eax, eax
je 0x100e0cf1
mov ecx, eax
call fcn.100e0100
jmp 0x100e0cf6
call fcn.100dfb50
add esp, 8
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x100e0d08
mov byte [esi + 0x14], 7
mov dword [esi + 8], eax
mov ecx, eax
mov dword [esp + 0x24], ecx
test eax, eax
je case.default.0x100e0a75
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
lea esi, [eax - 1]
add esi, ecx
cmp byte [esp + 0x23], 0xf
mov dword [esp + 0x1c], esi
jne 0x100e0d8d
push 0
push 0xa
push edx
push dword [esp + 0x48]
call fcn.101d5a30
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x68], eax
lea eax, [eax + eax*4]
add eax, eax
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, 4
jge 0x100e0d6b
push 0
push 0xa
push edx
push dword [esp + 0x74]
call fcn.101d5aa0
cmp eax, 1
jne 0x100e0d6f
test edx, edx
jne 0x100e0d6f
xor ecx, ecx
jmp 0x100e0d73
mov ecx, dword [esp + 0x1c]
mov al, byte [ecx*2 + 0x102627cd]
mov byte [esi - 1], al
sub esi, 2
mov al, byte [ecx*2 + str.thstndrd]
mov dword [esp + 0x1c], esi
mov byte [esi], al
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x3c]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x50], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x80], eax
nop
push ebx
push eax
push ecx
push edx
push esi
dec edi
call fcn.101d5e70
mov dword [esp + 0x50], ebx
pop ebx
mov esi, eax
mov eax, dword [esp + 0x50]
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x68]
mov byte [edi], al
mov eax, dword [esp + 0x80]
test edx, edx
ja 0x100e0dc0
jb 0x100e0df0
test esi, esi
jne 0x100e0dc0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
mov eax, esi
sub eax, edi
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x44]
lea ecx, [edx - 1]
add ecx, eax
cmp ecx, edi
jge 0x100e0e26
mov eax, edi
sub eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x1c]
dec edi
mov byte [edi], 0x30
sub eax, 1
jne 0x100e0e17
mov dword [esp + 0x1c], edi
jmp 0x100e0e2a
mov edi, dword [esp + 0x1c]
cmp byte [esp + 0x2a], 0
je 0x100e0e79
lea eax, [ecx - 1]
mov ecx, 3
cdq
idiv ecx
xor ecx, ecx
mov esi, eax
inc edx
sub edi, esi
mov dword [esp + 0x1c], edi
test esi, esi
jle 0x100e0e71
nop dword [eax + eax]
lea eax, [esi + ecx]
mov al, byte [eax + edi]
mov byte [ecx + edi], al
sub edx, 1
jne 0x100e0e6c
mov al, byte [esp + 0x2a]
inc ecx
dec esi
mov edx, 3
mov byte [ecx + edi], al
inc ecx
test esi, esi
jg 0x100e0e50
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov cl, byte [esp + 0x21]
test cl, cl
je 0x100e0e88
dec edi
mov dword [esp + 0x1c], edi
mov byte [edi], cl
cmp byte [esp + 0x2b], 0
je 0x100e0eb8
mov eax, dword [esp + 0x78]
mov al, byte [eax + 5]
test al, al
je 0x100e0eb8
movzx eax, al
add eax, 0x1025ff4c
mov cl, byte [eax]
test cl, cl
je 0x100e0eb8
dec edi
lea eax, [eax + 1]
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x100e0ea8
mov dword [esp + 0x1c], edi
sub esi, edi
dec edx
add esi, edx
jmp 0x100e1597
cmp byte [esp + 0x22], 0
je 0x100e0f42
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x100e0f2d
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
movzx eax, word [ecx + 8]
test al, 8
je 0x100e0ef8
movsd xmm2, qword [ecx]
mov dl, byte [esp + 0x23]
movsd qword [esp + 0x50], xmm2
jmp 0x100e0f58
test al, 4
je 0x100e0f15
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.101d65a0
mov dl, byte [esp + 0x23]
movaps xmm2, xmm0
movsd qword [esp + 0x50], xmm2
jmp 0x100e0f58
test al, 0x12
je 0x100e0f2d
call fcn.100ff5a0
mov dl, byte [esp + 0x23]
movaps xmm2, xmm0
movsd qword [esp + 0x50], xmm0
jmp 0x100e0f58
movsd xmm2, qword [esp + 0x90]
mov dl, byte [esp + 0x23]
movsd qword [esp + 0x50], xmm2
jmp 0x100e0f58
mov ecx, dword [esp + 0x30]
add ecx, 8
mov dword [esp + 0x30], ecx
movsd xmm2, qword [ecx - 8]
movsd qword [esp + 0x50], xmm2
movsd xmm3, qword [esp + 0x90]
test edi, edi
mov eax, 6
cmovs edi, eax
comisd xmm3, xmm2
mov dword [esp + 0x44], edi
jbe 0x100e0f8b
xorps xmm2, xmmword [esp + 0xa0]
mov dh, 0x2d
movsd qword [esp + 0x50], xmm2
mov byte [esp + 0x21], dh
jmp 0x100e0f8f
mov dh, byte [esp + 0x21]
cmp dl, 3
jne 0x100e0f9d
test edi, edi
jle 0x100e0f9d
dec edi
mov dword [esp + 0x44], edi
movsd xmm1, qword [esp + 0xb0]
and edi, 0xfff
movsd xmm4, qword [esp + 0x98]
cmp edi, 8
jb 0x100e0ff5
lea ecx, [edi - 8]
shr ecx, 3
inc ecx
mov eax, ecx
neg eax
lea edi, [edi + eax*8]
nop dword [eax + eax]
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
mulsd xmm1, xmm4
sub ecx, 1
jne 0x100e0fd0
test edi, edi
jle 0x100e1009
nop dword [eax]
dec edi
mulsd xmm1, xmm4
test edi, edi
jg 0x100e1000
cmp dl, 1
jne 0x100e101b
movaps xmm0, xmm1
addsd xmm2, xmm0
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x68], xmm2
xor edi, edi
movsd xmm0, qword [esp + 0x68]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [esp + 0x68]
ucomisd xmm0, qword [esp + 0x80]
mov dword [esp + 0x34], edi
lahf
test ah, 0x44
jnp 0x100e105e
mov edi, 0x102715a4
mov esi, 3
mov dword [esp + 0x1c], edi
jmp 0x100e1597
comisd xmm2, xmm3
jbe 0x100e1199
movsd xmm5, qword [esp + 0xc0]
comisd xmm2, xmm5
movsd xmm6, qword [esp + 0xb8]
movaps xmm3, xmm6
jb 0x100e10a3
cmp edi, 0x15e
jg 0x100e109f
mulsd xmm3, xmm5
add edi, 0x64
movaps xmm0, xmm3
mulsd xmm0, xmm5
comisd xmm2, xmm0
jae 0x100e1083
mov dword [esp + 0x34], edi
movsd xmm5, qword [esp + 0xc8]
movaps xmm0, xmm3
mulsd xmm0, xmm5
comisd xmm2, xmm0
jb 0x100e10dc
nop dword [eax]
cmp edi, 0x15e
jg 0x100e10d8
movaps xmm3, xmm0
add edi, 0xa
mulsd xmm0, xmm5
comisd xmm2, xmm0
jae 0x100e10c0
mov dword [esp + 0x34], edi
movsd xmm5, qword [esp + 0x88]
movaps xmm0, xmm3
mulsd xmm0, xmm5
comisd xmm2, xmm0
jb 0x100e110c
cmp edi, 0x15e
jg 0x100e1108
movaps xmm3, xmm0
inc edi
mulsd xmm0, xmm5
comisd xmm2, xmm0
jae 0x100e10f2
mov dword [esp + 0x34], edi
divsd xmm2, xmm3
movsd xmm0, qword [esp + 0xd0]
comisd xmm0, xmm2
movsd qword [esp + 0x50], xmm2
jbe 0x100e1147
movsd xmm3, qword [esp + 0xd8]
nop
mulsd xmm2, xmm3
sub edi, 8
comisd xmm0, xmm2
ja 0x100e1130
mov dword [esp + 0x34], edi
movsd qword [esp + 0x50], xmm2
comisd xmm6, xmm2
jbe 0x100e1165
nop dword [eax]
mulsd xmm2, xmm5
dec edi
comisd xmm6, xmm2
ja 0x100e1150
mov dword [esp + 0x34], edi
movsd qword [esp + 0x50], xmm2
cmp edi, 0x15e
jle 0x100e11a2
xor eax, eax
mov byte [esp + 0xe0], dh
test dh, dh
lea edi, [esp + 0xe0]
mov dword [esp + 0x1c], edi
setne al
mov dword [esp + eax + 0xe0], 0x666e49
lea esi, [eax + 3]
jmp 0x100e1597
movsd xmm5, qword [esp + 0x88]
lea esi, [esp + 0xe0]
cmp dl, 1
je 0x100e11cd
addsd xmm2, xmm1
comisd xmm2, xmm5
movsd qword [esp + 0x50], xmm2
jb 0x100e11cd
mulsd xmm2, xmm4
inc edi
mov dword [esp + 0x34], edi
movsd qword [esp + 0x50], xmm2
cmp dl, 3
jne 0x100e11ff
cmp byte [esp + 0x2b], 0
sete byte [esp + 0x2a]
cmp edi, 0xfffffffc
jl 0x100e11f7
mov ecx, dword [esp + 0x44]
cmp edi, ecx
jg 0x100e11f7
sub ecx, edi
mov dl, 1
mov dword [esp + 0x44], ecx
mov byte [esp + 0x23], dl
jmp 0x100e1207
mov dl, 2
mov byte [esp + 0x23], dl
jmp 0x100e1207
mov al, byte [esp + 0x29]
mov byte [esp + 0x2a], al
xor ecx, ecx
cmp dl, 2
cmovne ecx, edi
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], ecx
cmovg eax, ecx
mov ecx, dword [esp + 0x44]
cdq
mov dword [esp + 0x48], eax
mov eax, ecx
mov dword [esp + 0x3c], edx
cdq
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x2c]
adc dword [esp + 0x3c], edx
cdq
add dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
adc dword [esp + 0x3c], edx
add eax, 0xf
mov edx, dword [esp + 0x3c]
adc edx, 0
js 0x100e12b0
jg 0x100e1256
cmp eax, 0x46
jbe 0x100e12b0
mov esi, dword [esp + 0x18]
test edx, edx
jl 0x100e127c
jg 0x100e1ed6
cmp eax, dword [esi + 8]
jbe 0x100e127c
test edx, edx
jg 0x100e1ed6
jl 0x100e127c
cmp eax, dword [esi + 0xc]
ja 0x100e1ed6
mov ecx, dword [esi]
push edx
push eax
test ecx, ecx
je 0x100e128b
call fcn.100e0100
jmp 0x100e1290
call fcn.100dfb50
add esp, 8
mov dword [esp + 0x7c], eax
test eax, eax
jne 0x100e12a2
mov byte [esi + 0x14], 7
mov dword [esi + 8], eax
mov esi, eax
test eax, eax
je case.default.0x100e0a75
mov ecx, dword [esp + 0x44]
movzx eax, byte [esp + 0x29]
test ecx, ecx
mov dword [esp + 0x1c], esi
lea eax, [eax + eax*4]
lea edx, [eax*2 + 0x10]
setg al
or al, byte [esp + 0x29]
or byte [esp + 0x2b], al
mov al, byte [esp + 0x21]
mov dword [esp + 0x68], edx
test al, al
je 0x100e12df
mov byte [esi], al
inc esi
mov eax, dword [esp + 0x24]
movsd xmm1, qword [esp + 0x50]
movsd xmm5, qword [esp + 0x88]
test eax, eax
jns 0x100e12fc
mov byte [esi], 0x30
inc esi
jmp 0x100e1333
mov dword [esp + 0x24], eax
test edx, edx
jg 0x100e1308
mov al, 0x30
jmp 0x100e131f
cvttsd2si eax, xmm1
dec edx
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
mov byte [esi], al
inc esi
mov eax, dword [esp + 0x24]
sub eax, 1
mov dword [esp + 0x24], eax
jns 0x100e1300
mov dword [esp + 0x68], edx
cmp byte [esp + 0x2b], 0
je 0x100e133e
mov byte [esi], 0x2e
inc esi
inc eax
mov edi, eax
neg edi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x34]
test eax, eax
jns 0x100e141c
cmp dword [esp + 0x24], 8
jb 0x100e13e9
mov edi, dword [esp + 0x24]
and edi, reloc.WS2_32.dll_getsockopt
jns 0x100e136f
dec edi
or edi, 0xfffffff8
inc edi
movaps xmm0, xmmword [0x1027a6d0]
neg edi
movaps xmm4, xmmword [0x1027a4b0]
xorps xmm2, xmm2
mov dword [esp + 0x24], edi
xorps xmm3, xmm3
mov edi, dword [esp + 0x34]
movaps xmmword [esp + 0x50], xmm0
movd xmm0, dword [esp + 0x50]
add eax, 8
movd dword [esi], xmm0
psubd xmm2, xmm4
movd xmm0, dword [esp + 0x50]
psubd xmm3, xmm4
movd dword [esi + 4], xmm0
add esi, 8
cmp eax, dword [esp + 0x24]
jl 0x100e1392
paddd xmm2, xmm3
mov dword [esp + 0x24], eax
movaps xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movups xmm0, xmm2
psrldq xmm0, 4
paddd xmm2, xmm0
movd eax, xmm2
add ecx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
test eax, eax
jns 0x100e141c
neg eax
mov edi, esi
mov ecx, eax
mov dword [esp + 0x24], eax
mov edx, ecx
mov eax, 0x30303030
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esp + 0x44]
mov eax, edx
mov edi, dword [esp + 0x34]
add esi, eax
mov edx, dword [esp + 0x68]
sub ecx, eax
test ecx, ecx
jle 0x100e1447
dec ecx
test edx, edx
jg 0x100e1429
mov al, 0x30
jmp 0x100e1440
cvttsd2si eax, xmm1
dec edx
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm5
mov byte [esi], al
inc esi
test ecx, ecx
jg 0x100e1420
cmp byte [esp + 0x2a], 0
je 0x100e1484
cmp byte [esp + 0x2b], 0
je 0x100e1484
cmp byte [esi - 1], 0x30
lea eax, [esi - 1]
jne 0x100e146d
nop
mov esi, eax
lea eax, [esi - 1]
mov byte [esi], 0
cmp byte [eax], 0x30
je 0x100e1460
cmp byte [esi - 1], 0x2e
jne 0x100e1484
cmp byte [esp + 0x29], 0
je 0x100e1480
mov byte [esi], 0x30
inc esi
jmp 0x100e1484
dec esi
mov byte [esi], 0
cmp byte [esp + 0x23], 2
jne 0x100e1523
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + 4]
mov al, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], al
lea eax, [esi + 2]
mov dword [esp + 0x50], eax
mov eax, edi
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
test edi, edi
mov edi, dword [esp + 0x50]
sets al
mov dword [esp + 0x24], ecx
lea eax, [eax*2 + 0x2b]
mov byte [esi + 1], al
mov esi, edi
cmp ecx, 0x64
jl 0x100e14f4
mov eax, 0x51eb851f
lea esi, [edi + 1]
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, cl
add al, 0x30
mov byte [edi], al
imul eax, ecx, 0x64
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov dword [esp + 0x24], ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, cl
add al, 0x30
mov byte [esi], al
mov al, cl
shl cl, 2
add al, cl
mov ecx, dword [esp + 0x24]
add al, al
sub cl, al
add cl, 0x30
mov byte [esi + 1], cl
add esi, 2
mov edi, dword [esp + 0x1c]
mov byte [esi], 0
sub esi, edi
cmp byte [esp + 0x3b], 0
je 0x100e1597
mov cl, byte [esp + 0x17]
test cl, cl
jne 0x100e1d6f
mov edx, dword [esp + 0x2c]
cmp esi, edx
jge 0x100e1d6f
sub edx, esi
mov esi, dword [esp + 0x2c]
mov ecx, esi
cmp esi, edx
jl 0x100e156f
mov esi, edi
sub esi, edx
nop dword [eax + eax]
mov al, byte [esi + ecx]
mov byte [ecx + edi], al
dec ecx
cmp ecx, edx
jge 0x100e1560
mov esi, dword [esp + 0x2c]
mov cl, byte [esp + 0x21]
xor eax, eax
test cl, cl
setne al
test edx, edx
je 0x100e1597
add edi, eax
mov ecx, edx
shr ecx, 2
mov eax, 0x30303030
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov cl, byte [esp + 0x17]
mov eax, dword [esp + 0x2c]
sub eax, esi
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x100e1e24
test cl, cl
jne 0x100e1d9a
mov dword [esp + 0x68], eax
xor ecx, ecx
mov eax, dword [edx + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
cdq
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
adc ecx, edx
mov edx, dword [eax + 8]
js 0x100e1d78
jg 0x100e15ea
cmp dword [esp + 0x24], edx
jb 0x100e1d78
mov edx, dword [esp + 0x2c]
mov ecx, eax
call fcn.100e2010
mov edx, eax
test edx, edx
jle 0x100e1d96
jmp 0x100e1d7c
cmp byte [esp + 0x22], 0
jne 0x100e1622
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
add ecx, 4
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx - 4]
mov eax, dword [edx + 0x10]
mov dword [ecx], eax
mov dword [esp + 0x2c], 0
xor esi, esi
jmp 0x100e1593
lea edi, [esp + 0xe0]
mov byte [esp + 0xe0], 0x25
mov dword [esp + 0x1c], edi
mov esi, 1
jmp 0x100e1597
cmp byte [esp + 0x22], 0
je 0x100e1707
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x100e16f5
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
je 0x100e16f5
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e1695
cmp byte [ecx + 0xa], 1
jne 0x100e1695
mov edx, dword [ecx + 0x10]
jmp 0x100e16a3
test dl, 1
jne 0x100e16f5
mov dl, 1
call fcn.100fffa0
mov edx, eax
mov esi, 1
mov dword [esp + 0x48], esi
test edx, edx
je 0x100e16f5
mov al, byte [edx]
mov byte [esp + 0xe0], al
movsx eax, al
and eax, 0xc0
cmp al, 0xc0
jne 0x100e17d2
nop dword [eax]
mov cl, byte [edx + esi]
mov al, cl
and al, 0xc0
cmp al, 0x80
jne 0x100e17d2
mov byte [esp + esi + 0xe0], cl
inc esi
mov dword [esp + 0x48], esi
cmp esi, 4
jl 0x100e16d0
jmp 0x100e17d2
mov byte [esp + 0xe0], 0
mov esi, 1
jmp 0x100e17ce
mov ecx, dword [esp + 0x30]
add ecx, 4
mov dword [esp + 0x30], ecx
mov ecx, dword [ecx - 4]
cmp ecx, 0x80
jae 0x100e1727
mov esi, 1
jmp 0x100e17c7
cmp ecx, 0x800
jae 0x100e1753
mov eax, ecx
mov esi, 2
shr eax, 6
and cl, 0x3f
and al, 0x1f
sub al, 0x40
add cl, 0x80
mov byte [esp + 0xe0], al
mov byte [esp + 0xe1], cl
jmp 0x100e17ce
mov al, cl
mov edx, ecx
and al, 0x3f
shr edx, 6
add al, 0x80
and dl, 0x3f
mov byte [esp + 0x3b], al
mov eax, ecx
shr eax, 0xc
cmp ecx, 0x10000
jae 0x100e1799
and al, 0xf
mov esi, 3
sub al, 0x20
add dl, 0x80
mov byte [esp + 0xe0], al
mov al, byte [esp + 0x3b]
mov byte [esp + 0xe1], dl
mov byte [esp + 0xe2], al
jmp 0x100e17ce
shr ecx, 0x12
and al, 0x3f
add al, 0x80
and cl, 7
sub cl, 0x10
mov byte [esp + 0xe1], al
mov al, byte [esp + 0x3b]
add dl, 0x80
mov byte [esp + 0xe2], dl
mov esi, 4
mov byte [esp + 0xe3], al
mov byte [esp + 0xe0], cl
mov dword [esp + 0x48], esi
cmp edi, 1
jle 0x100e18ab
mov ecx, dword [esp + 0x2c]
sub ecx, edi
mov eax, ecx
inc ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x2c], ecx
cmp ecx, 1
jle 0x100e1856
cmp byte [esp + 0x17], 0
jne 0x100e1856
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x10]
cdq
mov dword [esp + 0x24], ecx
xor ecx, ecx
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
adc ecx, edx
mov edx, dword [eax + 8]
js 0x100e182c
jg 0x100e181d
cmp dword [esp + 0x24], edx
jb 0x100e182c
mov edx, dword [esp + 0x68]
mov ecx, eax
call fcn.100e2010
mov edx, eax
jmp 0x100e1830
mov edx, dword [esp + 0x68]
test edx, edx
jle 0x100e184e
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x10]
dec edx
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0x20
inc dword [edi + 0x10]
test edx, edx
jg 0x100e1838
mov edi, dword [esp + 0x44]
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x18]
dec edi
nop dword [eax + eax]
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0x18]
add ecx, esi
cmp ecx, dword [eax + 8]
jb 0x100e1882
push esi
lea edx, [esp + 0xe4]
mov ecx, eax
call fcn.100e2180
add esp, 4
jmp 0x100e18a2
test esi, esi
je 0x100e18a6
mov dword [eax + 0x10], ecx
lea edx, [esp + 0xe0]
mov eax, dword [eax + 4]
push esi
sub eax, esi
push edx
add eax, ecx
push eax
call fcn.101ec960
add esp, 0xc
mov eax, dword [esp + 0x18]
sub edi, 1
jne 0x100e1860
lea edi, [esp + 0xe0]
mov dword [esp + 0x1c], edi
jmp 0x100e1c50
cmp byte [esp + 0x22], 0
je 0x100e191e
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x100e18d3
xor eax, eax
mov dl, 5
jmp 0x100e192c
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
jne 0x100e18e9
xor eax, eax
mov dl, 5
jmp 0x100e192c
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e1908
cmp byte [ecx + 0xa], 1
jne 0x100e1908
mov eax, dword [ecx + 0x10]
mov dl, 5
jmp 0x100e192c
test dl, 1
je 0x100e1913
xor eax, eax
mov dl, 5
jmp 0x100e192c
mov dl, 1
call fcn.100fffa0
mov dl, 5
jmp 0x100e192c
mov ecx, dword [esp + 0x30]
add ecx, 4
mov dword [esp + 0x30], ecx
mov eax, dword [ecx - 4]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x100e193f
mov eax, 0x1024c6da
mov dword [esp + 0x1c], eax
jmp 0x100e19a2
cmp dl, 6
jne 0x100e19a2
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x10], 0
jne 0x100e199e
cmp dword [ecx + 0xc], 0
je 0x100e199e
cmp dword [esp + 0x2c], 0
jne 0x100e199e
test edi, edi
jns 0x100e199e
cmp byte [ecx + 0x14], 0
jne 0x100e199e
mov edi, dword [esp + 0x1c]
mov edx, edi
mov dword [ecx + 4], edi
mov ecx, dword [ecx]
call fcn.100dfcf0
mov edx, dword [esp + 0x18]
mov ecx, edi
mov dword [edx + 8], eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100e1981
or byte [edx + 0x15], 4
sub ecx, esi
and ecx, 0x7fffffff
xor esi, esi
mov dword [edx + 0x10], ecx
jmp 0x100e159b
mov dword [esp + 0x7c], eax
test edi, edi
js 0x100e1a04
cmp byte [esp + 0x29], 0
je 0x100e19e4
mov esi, eax
test edi, edi
jle 0x100e19d5
mov al, byte [esi]
dec edi
test al, al
je 0x100e19d5
inc esi
cmp al, 0xc0
jb 0x100e19d1
mov al, byte [esi]
and al, 0xc0
cmp al, 0x80
jne 0x100e19d1
mov al, byte [esi + 1]
inc esi
and al, 0xc0
cmp al, 0x80
je 0x100e19c7
test edi, edi
jg 0x100e19b3
mov edi, dword [esp + 0x1c]
sub esi, edi
mov dword [esp + 0x48], esi
jmp 0x100e1c45
xor esi, esi
test edi, edi
jle 0x100e1593
nop
cmp byte [esi + eax], 0
je 0x100e1593
inc esi
cmp esi, edi
jl 0x100e19f0
jmp 0x100e1593
mov edi, dword [esp + 0x1c]
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x100e1a10
sub esi, ecx
and esi, 0x7fffffff
mov dword [esp + 0x48], esi
jmp 0x100e1c45
cmp dl, 0xe
mov eax, 0x27
mov ecx, 0x22
cmove eax, ecx
cmp byte [esp + 0x22], 0
mov dword [esp + 0x78], eax
je 0x100e1ab1
mov esi, dword [esp + 0x70]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x100e1a5c
mov dl, byte [esp + 0x23]
mov dword [esp + 0x68], 0
jmp 0x100e1acb
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
jne 0x100e1a74
mov dl, byte [esp + 0x23]
xor esi, esi
jmp 0x100e1abf
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x100e1a95
cmp byte [ecx + 0xa], 1
jne 0x100e1a95
mov esi, dword [ecx + 0x10]
mov dl, byte [esp + 0x23]
jmp 0x100e1abf
test dl, 1
je 0x100e1aa2
mov dl, byte [esp + 0x23]
xor esi, esi
jmp 0x100e1abf
mov dl, 1
call fcn.100fffa0
mov dl, byte [esp + 0x23]
mov esi, eax
jmp 0x100e1abf
mov ecx, dword [esp + 0x30]
add ecx, 4
mov dword [esp + 0x30], ecx
mov esi, dword [ecx - 4]
mov dword [esp + 0x34], esi
mov dword [esp + 0x68], esi
test esi, esi
jne 0x100e1adf
cmp dl, 0xa
mov esi, str.NULL
mov eax, str._NULL_
cmovne esi, eax
mov dword [esp + 0x34], esi
mov ecx, dword [esp + 0x44]
xor eax, eax
xor edi, edi
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x100e1b39
mov dh, byte [esp + 0x29]
mov dl, byte [edi + esi]
test dl, dl
je 0x100e1b35
inc eax
cmp dl, byte [esp + 0x78]
cmovne eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
test dh, dh
je 0x100e1b2f
and dl, 0xc0
cmp dl, 0xc0
jne 0x100e1b2f
mov al, byte [edi + esi + 1]
and al, dl
cmp al, 0x80
jne 0x100e1b2b
nop
mov al, byte [edi + esi + 2]
inc edi
and al, 0xc0
cmp al, 0x80
je 0x100e1b20
mov eax, dword [esp + 0x24]
inc edi
sub ecx, 1
jne 0x100e1af3
mov dl, byte [esp + 0x23]
cmp dword [esp + 0x68], 0
je 0x100e1b4d
mov dword [esp + 0x24], 1
cmp dl, 0xa
je 0x100e1b55
mov dword [esp + 0x24], 0
add eax, 3
add eax, edi
cmp eax, 0x46
jle 0x100e1bca
mov esi, dword [esp + 0x18]
cdq
test edx, edx
jl 0x100e1b86
jg 0x100e1ed6
cmp eax, dword [esi + 8]
jbe 0x100e1b86
test edx, edx
jg 0x100e1ed6
jl 0x100e1b86
cmp eax, dword [esi + 0xc]
ja 0x100e1ed6
mov ecx, dword [esi]
push edx
push eax
test ecx, ecx
je 0x100e1b9e
call fcn.100e0100
mov ecx, eax
mov dword [esp + 0x84], ecx
jmp 0x100e1bac
call fcn.100dfb50
mov ecx, eax
mov dword [esp + 0x84], eax
add esp, 8
test ecx, ecx
jne 0x100e1bba
mov byte [esi + 0x14], 7
mov dword [esi + 8], ecx
mov dword [esp + 0x1c], ecx
mov eax, ecx
test ecx, ecx
je case.default.0x100e0a75
jmp 0x100e1bd5
lea eax, [esp + 0xe0]
mov dword [esp + 0x1c], eax
xor esi, esi
mov dword [esp + 0x48], esi
cmp dword [esp + 0x24], esi
je 0x100e1bf0
mov ecx, dword [esp + 0x78]
mov esi, 1
mov byte [eax], cl
mov dword [esp + 0x48], esi
xor edx, edx
test edi, edi
jle 0x100e1c2a
mov eax, dword [esp + 0x34]
nop word [eax + eax]
mov cl, byte [edx + eax]
mov eax, dword [esp + 0x1c]
mov byte [esi + eax], cl
inc esi
mov eax, dword [esp + 0x34]
cmp cl, byte [esp + 0x78]
jne 0x100e1c21
mov eax, dword [esp + 0x1c]
mov byte [esi + eax], cl
inc esi
mov eax, dword [esp + 0x34]
inc edx
cmp edx, edi
jl 0x100e1c00
mov dword [esp + 0x48], esi
cmp dword [esp + 0x24], 0
mov edi, dword [esp + 0x1c]
je 0x100e1c41
mov eax, dword [esp + 0x78]
mov byte [esi + edi], al
inc esi
mov dword [esp + 0x48], esi
mov byte [esi + edi], 0
cmp byte [esp + 0x29], 0
je 0x100e1597
cmp dword [esp + 0x2c], 0
jle 0x100e1597
lea edx, [esi - 1]
test edx, edx
js 0x100e1597
mov esi, dword [esp + 0x2c]
nop word [eax + eax]
lea eax, [edx + edi]
mov al, byte [eax]
lea ecx, [esi + 1]
and al, 0xc0
cmp al, 0x80
cmovne ecx, esi
sub edx, 1
mov esi, ecx
jns 0x100e1c70
mov dword [esp + 0x2c], esi
mov edx, ecx
mov esi, dword [esp + 0x48]
mov dword [esp + 0x2c], edx
jmp 0x100e1597
mov edx, dword [esp + 0x18]
test byte [edx + 0x15], 1
je case.default.0x100e0a75
mov ecx, dword [esp + 0x30]
add ecx, 4
mov dword [esp + 0x30], ecx
mov eax, dword [ecx - 4]
test eax, eax
je 0x100e1cd0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x100e1cd0
push ecx
push dword [eax]
push edx
call fcn.100e21c0
mov edx, dword [esp + 0x24]
add esp, 0xc
mov edi, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x2c], 0
jmp 0x100e159b
mov esi, dword [esp + 0x18]
test byte [esi + 0x15], 1
je case.default.0x100e0a75
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 4]
lea edi, [ecx + 8]
mov ecx, dword [ecx]
lea eax, [eax + eax*8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x50], eax
mov eax, dword [ecx + eax*8 + 0xc]
test eax, eax
je 0x100e1d49
push eax
push esi
call fcn.100e2210
mov edx, dword [esi + 0x10]
add esp, 8
inc edx
cmp edx, dword [esi + 8]
jb 0x100e1d36
push 1
mov edx, 0x1026aeac
mov ecx, esi
call fcn.100e2180
add esp, 4
jmp 0x100e1d45
mov ecx, dword [esi + 4]
mov dword [esi + 0x10], edx
mov al, byte [0x1026aeac]
mov byte [ecx + edx - 1], al
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
push dword [ecx + eax*8 + 0x10]
push esi
call fcn.100e2210
mov ecx, edi
mov dword [esp + 0x34], 0
add esp, 8
mov dword [esp + 0x30], ecx
xor esi, esi
jmp 0x100e1593
mov edx, dword [esp + 0x18]
jmp 0x100e159f
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
mov ecx, dword [edi + 0x10]
dec edx
mov eax, dword [edi + 4]
mov byte [ecx + eax], 0x20
inc dword [edi + 0x10]
test edx, edx
jg 0x100e1d80
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x10]
add ecx, esi
cmp ecx, dword [edx + 8]
jb 0x100e1db5
mov ecx, dword [esp + 0x18]
mov edx, edi
push esi
call fcn.100e2180
add esp, 4
jmp 0x100e1dce
test esi, esi
je 0x100e1dd2
mov eax, dword [edx + 4]
push esi
sub eax, esi
mov dword [edx + 0x10], ecx
add eax, ecx
push edi
push eax
call fcn.101ec960
add esp, 0xc
mov edx, dword [esp + 0x18]
cmp byte [esp + 0x17], 0
je 0x100e1e5c
mov esi, dword [edx + 0x10]
xor ecx, ecx
mov edi, dword [esp + 0x2c]
mov eax, edi
cdq
add esi, eax
adc ecx, edx
mov edx, dword [esp + 0x18]
js 0x100e1e10
jg 0x100e1dfa
cmp esi, dword [edx + 8]
jb 0x100e1e10
mov ecx, dword [esp + 0x18]
mov edx, edi
call fcn.100e2010
mov edx, dword [esp + 0x18]
mov edi, eax
test edi, edi
jle 0x100e1e5c
nop
mov ecx, dword [edx + 0x10]
dec edi
mov eax, dword [edx + 4]
mov byte [ecx + eax], 0x20
inc dword [edx + 0x10]
test edi, edi
jg 0x100e1e10
jmp 0x100e1e5c
mov ecx, dword [edx + 0x10]
add ecx, esi
cmp ecx, dword [edx + 8]
jb 0x100e1e3f
mov ecx, dword [esp + 0x18]
mov edx, edi
push esi
call fcn.100e2180
add esp, 4
jmp 0x100e1e58
test esi, esi
je 0x100e1e5c
mov eax, dword [edx + 4]
push esi
sub eax, esi
mov dword [edx + 0x10], ecx
add eax, ecx
push edi
push eax
call fcn.101ec960
add esp, 0xc
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
test edi, edi
je 0x100e1eb1
mov ecx, dword [edx]
test ecx, ecx
je 0x100e1e9c
cmp dword [ecx + 0x1e0], 0
je 0x100e1e7c
mov edx, edi
call fcn.100dfdb0
jmp 0x100e1ea5
cmp edi, dword [ecx + 0x130]
jb 0x100e1e9c
cmp edi, dword [ecx + 0x134]
jae 0x100e1e9c
mov eax, dword [ecx + 0x12c]
mov dword [edi], eax
mov dword [ecx + 0x12c], edi
jmp 0x100e1ea9
push edi
call fcn.100dfd40
add esp, 4
mov edx, dword [esp + 0x18]
mov dword [esp + 0x7c], 0
mov esi, dword [esp + 0x74]
inc esi
movsx eax, byte [esi]
test eax, eax
jne 0x100e06a5
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.101d506b
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x14], 0x12
mov dword [esi + 8], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.101d506b
mov esp, ebp
pop ebp
ret
mov esi, dword [edx + 0x10]
inc esi
cmp esi, dword [edx + 8]
jb 0x100e1f27
mov ecx, dword [esp + 0x18]
mov edx, 0x102715a8
push 1
call fcn.100e2180
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x120]
xor ecx, esp
call fcn.101d506b
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 4]
mov dword [edx + 0x10], esi
mov al, byte [0x102715a8]
mov byte [ecx + esi - 1], al
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101d506b
mov esp, ebp
pop ebp
ret