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

Disassembly:
sub esp, 0x10c
mov eax, dword [0x1008f304]
xor eax, esp
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x124]
push ebx
mov ebx, dword [esp + 0x114]
push ebp
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
push esi
mov esi, dword [esp + 0x12c]
push edi
mov edi, dword [esp + 0x12c]
mov dword [esp + 0x14], edi
test ebp, ebp
jne 0x1002314e
cmp dword [esp + 0x138], ebp
jne 0x10023139
push 1
xor eax, eax
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x150]
push eax
call fcn.100230b8
add esp, 0x1c
jmp 0x100261f5
lea eax, [esp + 0x138]
sub eax, ebx
cdq
xor eax, edx
sub eax, edx
neg eax
jmp 0x100261f5
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x100261ef
mov dword [esp + 0x4c], closesocket
inc eax
mov dword [esi], eax
mov eax, dword [esp + 0x138]
cmp eax, dword [esi + 8]
jae 0x100261eb
cmp dword [esi + 0x98], 2
jne 0x100231a3
and dword [esi + 0x98], 0
lea eax, [esp + 0x98]
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x28], eax
jmp 0x100231a3
mov edi, dword [esp + 0x14]
mov dl, byte [ebp]
and dword [esp + 0x38], 0
and dword [esp + 0x34], 0
movzx ecx, dl
mov byte [esp + 0x23], dl
mov dword [esp + 0x10], ecx
cmp ecx, 0x9b
ja case.0x100231ce.15
movzx eax, byte [ecx + 0x10026348]
jmp dword [eax*4 + 0x10026210]
cmp dword [esi + 0x6c], 0
je 0x100256aa
movzx eax, byte [ebp + 1]
movzx ecx, byte [ecx + 0x10088770]
add ebp, eax
add ebp, ecx
mov dword [esp + 0x1c], ebp
jmp 0x100231a3
mov edi, dword [esi + 0xac]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
lea eax, [ebp + 3]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 1
je 0x100232d2
cmp eax, 0xfffffc20
jne 0x1002325e
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl edx, 8
or edx, ecx
add edx, ebp
cmp dword [esi + 0x7c], edx
jae 0x100261f5
cmp byte [ebp], 0x71
je 0x1002325c
cmp byte [edx], 0x71
jne 0x100261f5
xor eax, eax
test eax, eax
jne 0x100261f5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0xac], edi
add ebp, ecx
mov al, byte [ebp]
cmp al, 0x71
je 0x10023202
mov edx, dword [esp + 0x24]
cmp al, 0x7c
je 0x10023292
cmp al, 0x71
jne case.0x100231ce.151
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov al, byte [ebp]
cmp al, 0x71
je 0x10023292
mov edi, dword [esi + 0x8c]
mov ebx, dword [esi + 0x80]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
cmp al, 0x72
je 0x100232ca
cmp ebx, dword [esp + 0x10]
jne 0x10025477
add ebp, 3
jmp 0x100231ee
mov edx, dword [esi + 0x7c]
mov al, byte [ebp]
mov dword [esp + 0x24], edx
jmp 0x10023286
and dword [esp + 0x2c], 0
jmp 0x10023c62
movzx edi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edi, 8
or edi, eax
cmp byte [ebp + 3], 0x70
mov dword [esp + 0x3c], edi
jne 0x100233d0
mov edi, dword [0x1008f7c4]
test edi, edi
je 0x100233bf
movzx eax, byte [ebp + 4]
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x78]
sub eax, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0x64], 2
mov dword [esp + 0x78], eax
mov eax, ebx
sub eax, ecx
movzx ecx, byte [ebp + 5]
mov dword [esp + 0x7c], eax
movzx eax, byte [ebp + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 8]
mov dword [esp + 0x8c], ecx
movzx ecx, byte [ebp + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
mov dword [esp + 0x90], ecx
sar eax, 1
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x64]
push eax
call edi
pop ecx
test eax, eax
jg case.0x100231ce.151
js 0x100261f5
movzx eax, byte [0x100887e0]
mov edi, dword [esp + 0x3c]
add ebp, eax
mov dword [esp + 0x1c], ebp
lea edx, [ebp + 3]
mov cl, byte [edx]
cmp cl, 0x89
je 0x10023575
cmp cl, 0x8a
je 0x10023575
cmp cl, 0x87
je 0x10023450
cmp cl, 0x88
je 0x10023450
cmp cl, 0x8b
jne 0x1002340a
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x100236c8
xor eax, eax
inc eax
mov dword [esi + 0x98], eax
mov eax, dword [esp + 0x138]
inc eax
push eax
push 0
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push edx
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 1
je 0x100254cf
test eax, eax
je 0x10023449
cmp eax, 0xfffffc20
jne 0x100261f5
add ebp, edi
jmp 0x100236c8
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
lea edi, [edx + edx]
cmp edi, dword [esp + 0x14]
jge 0x10023473
mov eax, dword [esi + 0xc]
cmp dword [eax + edi*4], 0
jge 0x100236b4
cmp cl, 0x88
jne 0x10023561
mov edi, dword [esi + 0x28]
xor eax, eax
cmp dword [esi + 0x20], eax
jle 0x10023561
mov ebp, eax
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
cmp ecx, edx
je 0x100234a5
add edi, dword [esi + 0x24]
inc ebp
cmp ebp, dword [esi + 0x20]
jl 0x1002348c
cmp ebp, dword [esi + 0x20]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x1c]
jge 0x10023561
mov edx, edi
cmp edi, dword [esi + 0x28]
jbe 0x10023504
lea ecx, [edi + 2]
sub edx, dword [esi + 0x24]
mov dword [esp + 0x3c], edx
lea eax, [edx + 2]
push eax
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10023504
mov edx, dword [esp + 0x3c]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x14]
jge 0x100234fc
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x100236b4
lea ecx, [edi + 2]
cmp edx, dword [esi + 0x28]
ja 0x100234c0
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x20]
jge 0x10023561
lea ecx, [edi + 2]
mov dword [esp + 0x3c], ecx
add edi, dword [esi + 0x24]
lea eax, [edi + 2]
push eax
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10023561
movzx eax, byte [edi]
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x14]
jge 0x1002354d
mov eax, dword [esi + 0xc]
cmp dword [eax + ecx*4], 0
jge 0x100236b4
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0x20]
jge 0x10023561
mov ecx, dword [esp + 0x3c]
jmp 0x10023519
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
xor eax, eax
jmp 0x100236c2
mov edi, dword [esi + 0xa4]
test edi, edi
je 0x100233f6
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
cmp edx, 0xffff
je 0x100236b4
cmp edx, dword [edi + 4]
je 0x100236b4
and dword [esp + 0x10], 0
cmp cl, 0x8a
jne 0x100236a5
mov edi, dword [esi + 0x28]
xor eax, eax
cmp dword [esi + 0x20], eax
jle 0x100236a5
mov ebp, eax
movzx ecx, byte [edi]
movzx eax, byte [edi + 1]
shl ecx, 8
or ecx, eax
cmp ecx, edx
je 0x100235dc
add edi, dword [esi + 0x24]
inc ebp
cmp ebp, dword [esi + 0x20]
jl 0x100235c3
cmp ebp, dword [esi + 0x20]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x34], edi
jge 0x100236a5
mov dword [esp + 0x3c], edi
cmp edi, dword [esi + 0x28]
jbe 0x10023647
lea ebx, [edi + 2]
sub edi, dword [esi + 0x24]
lea eax, [edi + 2]
push eax
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10023637
movzx eax, byte [edi]
xor edx, edx
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
cmp ecx, dword [eax + 4]
sete dl
mov dword [esp + 0x10], edx
je 0x1002363b
cmp edi, dword [esi + 0x28]
ja 0x100235fd
jmp 0x1002363b
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
test edx, edx
jne 0x100236bb
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [esi + 0x20]
jge 0x100236a5
lea ebx, [edi + 2]
mov ebp, eax
add edi, dword [esi + 0x24]
lea eax, [edi + 2]
push eax
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x10023695
movzx eax, byte [edi]
xor edx, edx
movzx ecx, byte [edi + 1]
shl eax, 8
or ecx, eax
mov eax, dword [esi + 0xa4]
cmp ecx, dword [eax + 4]
sete dl
mov dword [esp + 0x10], edx
je 0x10023699
inc ebp
cmp ebp, dword [esi + 0x20]
jl 0x1002365a
jmp 0x10023699
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
jne 0x100236bb
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x100236be
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
push 3
pop ecx
mov eax, dword [esp + 0x10]
add ebp, ecx
test eax, eax
jne 0x100236d2
cmp byte [ebp], 0x71
jne 0x100238eb
mov edi, dword [esp + 0x14]
add ebp, 3
cmp byte [esp + 0x23], 0x86
mov dword [esp + 0x1c], ebp
jne 0x100255f6
mov eax, dword [esp + 0x138]
inc eax
mov dword [esi + 0x98], 2
push eax
push dword [esp + 0x2c]
push esi
push edi
push dword [esp + 0x34]
push ebp
push ebx
jmp 0x1002312c
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov dword [esi + 0x90], edx
lea edi, [edx + edx]
cmp edi, dword [esi + 0x14]
jl 0x10023736
xor eax, eax
inc eax
mov dword [esi + 0x3c], eax
mov edi, dword [esp + 0x14]
jmp 0x100232ca
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov eax, dword [ecx + eax*4]
mov dword [ecx + edi*4], eax
mov ecx, ebx
mov eax, dword [esi + 0xc]
sub ecx, dword [esi + 0x74]
mov dword [eax + edi*4 + 4], ecx
cmp dword [esp + 0x14], edi
jg 0x1002372d
add edi, 2
mov dword [esp + 0x14], edi
jmp 0x100232ca
mov eax, dword [esi + 0xac]
mov dword [esp + 0x3c], eax
xor eax, eax
inc eax
cmp dword [esi + 0x98], eax
jne 0x10023782
and dword [esi + 0x98], 0
mov edi, eax
jmp 0x10023784
xor edi, edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push 0
push esi
push dword [esp + 0x20]
lea eax, [ebp + 3]
push dword [esp + 0x34]
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 1
je 0x100237ed
cmp eax, 0xfffffc19
je 0x100237ed
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0xac], ecx
cmp eax, 0xfffffc1a
je case.0x100231ce.151
test eax, eax
je 0x100237d5
cmp eax, 0xfffffc20
jne 0x100261f5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov al, byte [ebp]
cmp al, 0x71
je 0x10023784
jmp 0x100237f7
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x24], eax
mov al, byte [ebp]
cmp al, 0x72
je case.0x100231ce.151
test edi, edi
jne 0x100257ef
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10023807
mov edi, dword [esi + 0x8c]
add ebp, 3
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], edi
jmp 0x100231a3
mov edi, dword [esi + 0xac]
xor eax, eax
inc eax
cmp dword [esi + 0x98], eax
jne 0x10023850
and dword [esi + 0x98], 0
mov dword [esp + 0x10], eax
jmp 0x10023855
and dword [esp + 0x10], 0
mov eax, dword [esp + 0x138]
inc eax
push eax
push 0
push esi
push dword [esp + 0x20]
lea eax, [ebp + 3]
push dword [esp + 0x34]
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
mov dword [esi + 0xac], edi
cmp eax, 1
je case.0x100231ce.151
cmp eax, 0xfffffc19
je case.0x100231ce.151
cmp eax, 0xfffffc1e
je 0x100238cb
cmp eax, 0xfffffc1d
je 0x100238cb
cmp eax, 0xfffffc1a
je 0x100238cb
test eax, eax
je 0x100238b4
cmp eax, 0xfffffc20
jne 0x100261f5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10023855
jmp 0x100238e0
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x100238cb
cmp dword [esp + 0x10], 0
jne 0x100257ef
add ebp, 3
mov dword [esp + 0x1c], ebp
jmp 0x1002319f
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esi + 0x74]
jb case.0x100231ce.151
cmp ebx, dword [esi + 0x84]
jae 0x100232ca
mov dword [esi + 0x84], ebx
jmp 0x100232ca
mov edi, dword [0x1008f7c4]
test edi, edi
je 0x100239e6
movzx eax, byte [ebp + 1]
mov ecx, dword [esi + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x78]
sub eax, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0x64], 2
mov dword [esp + 0x78], eax
mov eax, ebx
sub eax, ecx
movzx ecx, byte [ebp + 2]
mov dword [esp + 0x7c], eax
movzx eax, byte [ebp + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 5]
mov dword [esp + 0x8c], ecx
movzx ecx, byte [ebp + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
cdq
sub eax, edx
mov dword [esp + 0x90], ecx
sar eax, 1
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x84], eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0xb0]
mov dword [esp + 0x94], eax
lea eax, [esp + 0x64]
push eax
call edi
pop ecx
test eax, eax
jg case.0x100231ce.151
js 0x100261f5
add ebp, 6
jmp 0x100238ee
movzx edi, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edi, 8
or edi, eax
add edi, dword [esi + 0x70]
mov dword [esp + 0x10], edi
cmp edi, dword [esi + 0x70]
jne 0x10023a0b
xor ecx, ecx
jmp 0x10023a18
movzx ecx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl ecx, 8
or ecx, eax
mov edx, dword [esi + 0xa4]
mov eax, edx
jmp 0x10023a32
cmp ecx, dword [eax + 4]
jne 0x10023a30
cmp ebx, dword [eax + 0x10]
je 0x100256fc
mov eax, dword [eax]
test eax, eax
jne 0x10023a22
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x50]
mov ecx, dword [esi + 0x10]
add ebp, 3
mov dword [esp + 0x60], ebx
mov dword [esp + 0x50], edx
mov dword [esi + 0xa4], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x5c], ecx
cmp ecx, 0x1e
jg 0x10023a6c
lea eax, [esp + 0xa0]
mov dword [esp + 0x58], eax
jmp 0x10023a89
mov eax, ecx
shl eax, 2
push eax
call dword [0x1008f210]
mov dword [esp + 0x5c], eax
pop ecx
test eax, eax
je 0x10025749
mov ecx, dword [esp + 0x5c]
shl ecx, 2
push ecx
push dword [esi + 0xc]
push eax
call sub.vcruntime140.dll_memcpy
mov al, byte [edi]
add esp, 0xc
mov byte [esp + 0x23], al
cmp al, 0x82
jb 0x10023aad
mov dword [esi + 0x98], 2
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [edi]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, edi
push eax
push ebx
call fcn.100230b8
mov ecx, dword [esp + 0x78]
mov edi, eax
shl ecx, 2
push ecx
push dword [esp + 0x78]
push dword [esi + 0xc]
call sub.vcruntime140.dll_memcpy
mov edx, dword [esp + 0x78]
xor eax, eax
inc eax
mov dword [esi + 0xa4], edx
add esp, 0x28
cmp edi, eax
je 0x10023b53
cmp edi, 0xfffffc19
je 0x10023b53
test edi, edi
je 0x10023b20
cmp edi, 0xfffffc20
je 0x10023b20
cmp edi, 0xfffffc1a
jne 0x10025703
mov edi, dword [esp + 0x10]
lea eax, [esp + 0x50]
mov dword [esi + 0xa4], eax
movzx ecx, byte [edi + 1]
movzx eax, byte [edi + 2]
shl ecx, 8
or ecx, eax
add edi, ecx
mov dword [esp + 0x10], edi
cmp byte [edi], 0x71
jne 0x10025722
mov al, byte [esp + 0x23]
jmp 0x10023a9f
lea eax, [esp + 0xa0]
cmp dword [esp + 0x58], eax
je 0x10023b6b
push dword [esp + 0x58]
call dword [0x1008f214]
pop ecx
mov ebx, dword [esi + 0x80]
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
jmp 0x1002319f
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je case.0x100231ce.113
jmp 0x100231ee
mov eax, dword [esp + 0x138]
inc ebp
inc eax
push eax
push dword [esp + 0x2c]
push esi
push edi
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10023bc1
jmp 0x100232ca
inc ebp
mov dword [esp + 0x1c], ebp
mov edx, ebp
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x71
je 0x10023be2
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
lea eax, [edx + 3]
push esi
push edi
push dword [esp + 0x34]
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x100231a3
jmp 0x100261f5
inc ebp
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10023c24
jmp 0x100232ca
inc ebp
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
movzx ecx, byte [ebp]
mov dword [esp + 0x10], ecx
cmp ecx, 0x80
je 0x10023c62
cmp ecx, 0x85
jne 0x10023dfd
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
mov dword [esp + 0x30], edx
lea eax, [edx + edx]
mov dword [esp + 0x1c], eax
cmp eax, dword [esi + 0x14]
jge case.0x100231ce.126
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov ecx, ebp
sub ecx, dword [esi + 0x70]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0xc]
mov edi, dword [ecx + eax*4]
mov eax, dword [ecx + eax*4 + 4]
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x10]
sub eax, edx
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x10]
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x38], eax
mov ecx, dword [esi + 0x10]
mov edx, ebx
sub ecx, dword [esp + 0x30]
mov eax, dword [esi + 0xc]
sub edx, dword [esi + 0x74]
mov dword [eax + ecx*4], edx
cmp edi, 0x82
jb 0x10023ce2
mov dword [esi + 0x98], 2
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x10023d4c
mov eax, dword [esi + 0x8c]
mov ebp, dword [esi + 0x70]
add ebp, dword [esp + 0x3c]
mov ebx, dword [esi + 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x18], ebx
lea ecx, [eax + 1]
mov dword [esp + 0x34], ecx
jmp 0x10023cbe
cmp ecx, 0xfffffc20
jne 0x10023d7d
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add edx, ebp
cmp dword [esi + 0x7c], edx
jae 0x10025750
cmp byte [ebp], 0x71
je 0x10023d7b
cmp byte [edx], 0x71
jne 0x10025750
xor ecx, ecx
test ecx, ecx
jne 0x10025750
mov eax, dword [esp + 0x38]
mov dword [esi + 0x90], eax
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10023cbe
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x10023dde
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
mov dword [eax + ecx*4], edx
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x48]
mov dword [eax + ecx*4 + 4], edx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x2c], 0
jne 0x100238eb
test eax, eax
jne 0x100238eb
xor eax, eax
jmp 0x100261f5
and dword [esp + 0x2c], 0
and dword [esp + 0x34], 0
mov edi, ebp
sub edi, dword [esi + 0x70]
cmp ecx, 0x82
jb 0x10023e19
mov dword [esi + 0x98], 2
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
mov ecx, eax
add esp, 0x1c
cmp ecx, 0xfffffc1b
jne 0x10023e76
mov eax, dword [esi + 0x8c]
mov ebp, dword [esi + 0x70]
mov ebx, dword [esi + 0x80]
add ebp, edi
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
xor eax, eax
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], eax
jmp 0x10023e07
cmp ecx, 0xfffffc20
jne 0x10023ea7
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add edx, ebp
cmp dword [esi + 0x7c], edx
jae 0x10025750
cmp byte [ebp], 0x71
je 0x10023ea5
cmp byte [edx], 0x71
jne 0x10025750
xor ecx, ecx
test ecx, ecx
jne 0x10025750
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
mov ecx, dword [esp + 0x10]
cmp byte [ebp], 0x71
je 0x10023e07
cmp dword [esp + 0x34], 0
jne 0x100238eb
cmp dword [esp + 0x2c], 0
jmp 0x10023deb
movzx ecx, byte [ebp + 1]
mov edi, ebp
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub edi, ecx
mov dword [esp + 0x10], edi
mov al, byte [edi]
cmp al, 0x82
jae 0x10023f07
cmp al, 0x7b
je 0x10023f07
and dword [esp + 0x2c], 0
jmp 0x10023f18
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
cmp al, 0x77
jb 0x10023f24
cmp al, 0x7a
jbe 0x100257d8
cmp al, 0x7c
je 0x100257d8
cmp al, 0x7f
je 0x10023f3c
cmp al, 0x84
je 0x10023f3c
cmp al, 0x80
je 0x10023f3c
cmp al, 0x85
jne 0x10023f74
movzx edx, byte [edi + 3]
movzx eax, byte [edi + 4]
shl edx, 8
or edx, eax
mov eax, dword [esi + 0xa4]
lea ecx, [edx + edx]
mov dword [esp + 0x44], ecx
test eax, eax
je 0x10023f63
cmp dword [eax + 4], edx
je 0x100257e2
mov dword [esi + 0x90], edx
cmp ecx, dword [esi + 0x14]
jl 0x10023fb2
xor eax, eax
inc eax
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0x14]
mov al, byte [ebp]
cmp al, 0x72
je 0x10023f89
cmp ebx, dword [esp + 0x2c]
jne 0x1002550b
add ebp, 3
cmp byte [edi], 0x7b
mov dword [esp + 0x1c], ebp
jne 0x1002319f
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push ecx
push dword [esp + 0x34]
push ebp
jmp 0x1002578a
cmp ecx, dword [esp + 0x14]
jle 0x10023ff9
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x14]
and dword [esp + 0x40], 0
and dword [esp + 0x40], 0
lea edi, [eax + edi*4]
lea eax, [eax + ecx*4]
mov dword [esp + 0x48], edi
mov ecx, eax
sub ecx, edi
add ecx, 3
shr ecx, 2
cmp edi, eax
mov edi, dword [esp + 0x10]
cmova ecx, dword [esp + 0x40]
test ecx, ecx
je 0x10023ff9
mov edi, dword [esp + 0x48]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x10]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
sub eax, edx
mov edx, dword [esp + 0x44]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov ecx, ebx
mov eax, dword [esi + 0xc]
sub ecx, dword [esi + 0x74]
mov dword [eax + edx*4 + 4], ecx
mov ecx, dword [esp + 0x14]
cmp ecx, edx
jg 0x10023f78
lea ecx, [edx + 2]
mov dword [esp + 0x14], ecx
jmp 0x10023f78
cmp dword [esi + 0x40], 0
je case.0x100231ce.1
cmp ebx, dword [esi + 0x74]
je case.0x100231ce.151
cmp ebx, dword [esi + 0x74]
jne case.0x100231ce.151
inc ebp
jmp 0x100231ee
cmp dword [esi + 0x40], 0
je 0x1002405c
cmp ebx, dword [esi + 0x74]
je case.0x100231ce.151
mov ecx, dword [esi + 0x74]
cmp ebx, ecx
je 0x10024047
cmp ebx, dword [esi + 0x78]
je case.0x100231ce.151
cmp dword [esi + 0x18], 0
je 0x10024097
cmp ebx, ecx
jbe case.0x100231ce.151
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
je case.0x100231ce.151
jmp 0x10024047
mov edx, dword [esi + 0x1c]
lea eax, [ecx + edx]
cmp ebx, eax
jb case.0x100231ce.151
mov ecx, ebx
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [esi + 0x2c]
jne case.0x100231ce.151
xor eax, eax
inc eax
cmp edx, eax
je 0x10024047
mov al, byte [ecx + 1]
cmp al, byte [esi + 0x2d]
jmp 0x10024041
mov eax, dword [esi + 0x94]
add eax, dword [esi + 0x74]
cmp ebx, eax
jmp 0x10024041
mov dword [esp + 0x24], ebx
jmp 0x10024047
mov ecx, dword [esi + 0x78]
cmp ebx, ecx
jae 0x10024178
cmp dword [esi + 0x18], 0
je 0x10024151
push 0
lea eax, [esi + 0x1c]
push eax
push ecx
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
jne 0x10024047
xor edx, edx
inc edx
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x100231ce.151
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x78]
jb case.0x100231ce.151
cmp dword [esi + 0x18], 0
jne case.0x100231ce.151
cmp dword [esi + 0x1c], 2
jne case.0x100231ce.151
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x100231ce.151
mov dword [esi + 0x60], edx
cmp ecx, edx
jmp 0x10025db4
sub ecx, dword [esi + 0x1c]
xor edx, edx
inc edx
cmp ebx, ecx
ja 0x1002410e
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x1002410e
cmp dword [esi + 0x1c], edx
je 0x10024047
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jne 0x1002410e
jmp 0x10024047
cmp dword [esi + 0x44], 0
jne case.0x100231ce.151
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10024047
cmp ebx, dword [esi + 0x84]
jbe 0x10024047
xor edx, edx
inc edx
mov dword [esi + 0x60], edx
cmp eax, edx
jg 0x10025dba
jmp 0x10024047
cmp dword [esi + 0x44], 0
jne case.0x100231ce.151
cmp dword [esi + 0x54], 0
je case.0x100231ce.23
cmp ebx, dword [esi + 0x78]
jb case.0x100231ce.151
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10024047
cmp ebx, dword [esi + 0x84]
jbe 0x10024047
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jmp 0x100241a4
mov ecx, dword [esi + 0x78]
cmp ebx, ecx
jae 0x10024251
cmp dword [esi + 0x18], 0
lea edi, [esi + 0x1c]
je 0x1002421b
push 0
push edi
push ecx
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
je 0x100257f7
mov ecx, dword [esi + 0x78]
mov edx, dword [edi]
jmp 0x10024247
mov edx, dword [edi]
mov eax, ecx
sub eax, edx
cmp ebx, eax
ja 0x100257f7
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x100257f7
xor eax, eax
inc eax
cmp edx, eax
je 0x10024247
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
jne 0x100257f7
sub ecx, edx
cmp ebx, ecx
jne 0x100257f7
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10024271
cmp ebx, dword [esi + 0x84]
jbe 0x10024271
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
inc ebp
jmp 0x100238ee
cmp ebx, dword [esi + 0x74]
jne 0x10024283
xor ecx, ecx
xor edx, edx
inc ecx
jmp 0x100242a7
cmp ebx, dword [esi + 0x84]
ja 0x10024294
lea eax, [ebx - 1]
mov dword [esi + 0x84], eax
mov ecx, dword [esi + 0x38]
movzx eax, byte [ebx - 1]
movzx edx, byte [eax + ecx]
xor ecx, ecx
shr edx, 4
inc ecx
and edx, ecx
cmp ebx, dword [esi + 0x78]
jb 0x100242cd
mov eax, dword [esi + 0x88]
test eax, eax
je 0x100242c9
cmp ebx, dword [esi + 0x84]
jbe 0x100242c9
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
xor ecx, ecx
jmp 0x100242df
movzx eax, byte [ebx]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [eax + ecx]
xor eax, eax
shr ecx, 4
inc eax
and ecx, eax
mov al, byte [ebp]
xor edx, ecx
inc ebp
mov dword [esp + 0x1c], ebp
cmp al, 5
jne 0x100242f2
xor eax, eax
inc eax
xor edx, eax
test edx, edx
je 0x100231a3
jmp case.0x100231ce.151
cmp dword [esi + 0x18], 0
je 0x1002436d
cmp ebx, dword [esi + 0x78]
jae 0x10024327
push 0
lea eax, [esi + 0x1c]
push eax
push dword [esi + 0x78]
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
jne case.0x100231ce.151
xor edx, edx
inc edx
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x100231ce.13
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x78]
jb case.0x100231ce.13
cmp dword [esi + 0x18], 0
jne case.0x100231ce.13
cmp dword [esi + 0x1c], 2
jne case.0x100231ce.13
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x100231ce.13
mov dword [esi + 0x60], edx
cmp ecx, edx
jg 0x10025dba
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
inc ebx
mov dword [esp + 0x18], ebx
jmp 0x10024047
mov eax, dword [esi + 0x78]
sub eax, dword [esi + 0x1c]
cmp ebx, eax
ja 0x10024327
mov al, byte [ebx]
xor edx, edx
inc edx
cmp al, byte [esi + 0x2c]
jne 0x1002432a
cmp dword [esi + 0x1c], edx
je case.0x100231ce.151
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x100231ce.151
jmp 0x1002432a
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 4
jmp 0x10024041
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 4
jmp 0x1002408f
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 1
jmp 0x10024041
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 1
jmp 0x1002408f
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 0x10
jmp 0x10024041
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
inc ebx
mov eax, dword [esi + 0x38]
mov dword [esp + 0x18], ebx
test byte [ecx + eax], 0x10
jmp 0x1002408f
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
je 0x10024047
jbe case.0x100231ce.151
cmp al, 0xc
jbe 0x10024474
cmp al, 0xd
je 0x1002447d
cmp al, 0x85
jne case.0x100231ce.151
cmp dword [esi + 0x64], 0
jmp 0x10024041
cmp ebx, dword [esi + 0x78]
jae 0x100241c8
cmp byte [ebx], 0xa
jne 0x10024047
jmp 0x10024363
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 9
je case.0x100231ce.151
cmp al, 0x20
je case.0x100231ce.151
cmp al, 0xa0
jmp 0x1002408f
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 9
je 0x10024047
cmp al, 0x20
je 0x10024047
cmp al, 0xa0
jmp 0x10024041
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
jb 0x10024047
cmp al, 0xd
jbe case.0x100231ce.151
cmp al, 0x85
jmp 0x1002408f
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
jb case.0x100231ce.151
cmp al, 0xd
jbe 0x10024047
cmp al, 0x85
jmp 0x10024041
movzx edx, byte [ebp + 1]
xor eax, eax
cmp ecx, 0x6e
sete al
shl edx, 8
mov dword [esp + 0x2c], eax
movzx eax, byte [ebp + 2]
add ebp, 3
or edx, eax
mov dword [esp + 0x1c], ebp
add edx, edx
mov dword [esp + 0x34], edx
cmp edx, edi
jge 0x1002456c
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + edx*4]
test eax, eax
js 0x1002456c
mov ecx, dword [ecx + edx*4 + 4]
sub ecx, eax
jmp 0x10024575
xor ecx, ecx
cmp dword [esi + 0x4c], ecx
setne cl
dec ecx
mov al, byte [ebp]
mov dword [esp + 0x10], ecx
cmp al, 0x62
jb 0x10024695
cmp al, 0x67
jbe 0x100245ca
cmp al, 0x69
ja 0x10024695
movzx edi, byte [ebp + 1]
xor edx, edx
cmp al, 0x69
movzx eax, byte [ebp + 2]
sete dl
shl edi, 8
mov dword [esp + 0x3c], edx
or edi, eax
movzx edx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edx, 8
or edx, eax
mov eax, closesocket
cmove edx, eax
add ebp, 5
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x34]
jmp 0x100245f1
movzx eax, al
inc ebp
lea edi, [eax - 0x62]
and edi, 1
mov dword [esp + 0x3c], edi
movsx edi, byte [eax + 0x100870a2]
movsx eax, byte [eax + 0x100870aa]
test eax, eax
cmove eax, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ebp
test ecx, ecx
je 0x1002319f
jns 0x10024607
test edi, edi
je 0x1002319f
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
cmp edi, eax
jl 0x10024645
push dword [esp + 0x2c]
push esi
push ecx
push ebx
push edx
call fcn.100264a4
add esp, 0x14
test eax, eax
js 0x1002583d
mov ecx, dword [esp + 0x10]
add ebx, eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
inc eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x30], eax
cmp eax, edi
jle 0x10024612
mov eax, dword [esp + 0x38]
cmp edi, eax
je 0x1002319f
cmp dword [esp + 0x3c], 0
jne 0x10025888
mov dword [esp + 0x3c], ebx
cmp edi, eax
jge 0x100258e7
push dword [esp + 0x2c]
push esi
push ecx
push ebx
push dword [esp + 0x44]
call fcn.100264a4
add esp, 0x14
test eax, eax
js 0x100258b1
mov ecx, dword [esp + 0x10]
add ebx, eax
inc edi
cmp edi, dword [esp + 0x38]
jl 0x10024668
jmp 0x100258d9
push dword [esp + 0x2c]
push esi
push ecx
push ebx
push edx
call fcn.100264a4
add esp, 0x14
test eax, eax
js 0x1002583d
add ebx, eax
mov dword [esp + 0x18], ebx
jmp 0x100231a3
lea eax, [ebp + 1]
add ebp, 0x21
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], ebp
mov al, byte [ebp]
cmp al, 0x62
jb 0x10024747
cmp al, 0x67
jbe 0x10024712
cmp al, 0x69
ja 0x10024747
movzx edi, byte [ebp + 1]
xor edx, edx
movzx ecx, byte [ebp + 3]
cmp al, 0x69
movzx eax, byte [ebp + 2]
sete dl
shl edi, 8
or edi, eax
shl ecx, 8
movzx eax, byte [ebp + 4]
or ecx, eax
mov dword [esp + 0x34], edx
mov eax, closesocket
cmove ecx, eax
add ebp, 5
xor edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebp
inc edx
jmp 0x10024750
movzx eax, al
xor edx, edx
inc edx
inc ebp
mov dword [esp + 0x1c], ebp
movsx edi, byte [eax + 0x100870a2]
lea ecx, [eax - 0x62]
movsx eax, byte [eax + 0x100870aa]
and ecx, edx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10024750
mov eax, closesocket
mov dword [esp + 0x10], eax
jmp 0x10024750
xor edx, edx
inc edx
mov dword [esp + 0x10], edx
mov edi, edx
mov dword [esp + 0x38], edx
cmp edi, edx
jl 0x10024790
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
inc ebx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
test byte [edx + ecx], al
je case.0x100231ce.151
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
cmp eax, edi
jle 0x10024758
mov eax, dword [esp + 0x10]
cmp edi, eax
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025952
mov dword [esp + 0x3c], ebx
cmp edi, eax
jge 0x100259a9
cmp ebx, dword [esi + 0x78]
jae 0x1002597b
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
mov ecx, dword [esp + 0x2c]
test byte [edx + ecx], al
je 0x1002599b
inc ebx
inc edi
cmp edi, dword [esp + 0x10]
jl 0x100247b3
jmp 0x1002599b
mov eax, dword [esi + 0x78]
xor ecx, ecx
sub eax, ebx
inc ecx
cmp eax, ecx
jl 0x100259df
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp byte [ebp + 1], al
jne case.0x100231ce.151
add ebp, 2
jmp 0x100231ee
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov edx, dword [esi + 0x30]
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebx]
mov al, byte [eax + edx]
cmp al, byte [ecx + edx]
jne case.0x100231ce.151
inc ebx
mov dword [esp + 0x18], ebx
jmp 0x10024806
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, 3
mov edi, ecx
jmp 0x100248d5
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
movzx ecx, byte [ebp + 1]
xor edi, edi
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x10], ecx
cmp dl, 0x28
je 0x10024875
cmp dl, 0x35
je 0x10024875
and dword [esp + 0x34], edi
jmp 0x1002487c
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
add ebp, 3
jmp 0x100248d9
xor eax, eax
inc eax
xor edi, edi
mov ecx, closesocket
mov dword [esp + 0x38], eax
inc ebp
mov dword [esp + 0x10], ecx
jmp 0x100248dc
xor eax, eax
inc eax
mov edi, eax
jmp 0x10024886
xor eax, eax
inc eax
xor edi, edi
mov ecx, eax
jmp 0x1002488b
cmp ecx, 0x2e
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x2e
sub ecx, eax
inc ebp
mov eax, ecx
and eax, 1
mov dword [esp + 0x34], eax
mov eax, closesocket
movsx edi, byte [ecx + 0x10087104]
movsx ecx, byte [ecx + 0x1008710c]
test ecx, ecx
cmove ecx, eax
mov dword [esp + 0x10], ecx
xor eax, eax
inc eax
movzx edx, byte [ebp]
inc ebp
cmp byte [esp + 0x23], 0x2e
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ebp
jb 0x100249d6
mov eax, dword [esi + 0x34]
mov al, byte [edx + eax]
xor edx, edx
mov byte [esp + 0x23], al
inc edx
movzx eax, al
mov dword [esp + 0x30], eax
cmp edi, edx
jl 0x10024932
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
cmp dword [esp + 0x2c], eax
je 0x10024928
cmp dword [esp + 0x30], eax
jne case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x1002490c
cmp edi, ecx
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025a28
mov eax, ebx
mov dword [esp + 0x40], eax
jmp 0x10024967
cmp ebx, dword [esi + 0x78]
jae 0x1002496d
movzx edx, byte [ebx]
cmp dword [esp + 0x2c], edx
je 0x10024961
cmp dword [esp + 0x30], edx
jne 0x1002498d
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, ecx
jl 0x1002494d
jmp 0x1002498d
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x1002498d
cmp ebx, dword [esi + 0x84]
jbe 0x1002498d
xor edx, edx
inc edx
mov dword [esi + 0x60], edx
cmp ecx, edx
jg 0x10025dba
cmp dword [esp + 0x38], 0
jne 0x1002319f
cmp ebx, eax
jb case.0x100231ce.151
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
dec ebx
test eax, eax
jne 0x100261f5
cmp ebx, edi
jae 0x100249a4
jmp case.0x100231ce.151
mov edx, eax
cmp edi, eax
jl 0x100249fc
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x2c], eax
jne case.0x100231ce.151
inc edx
cmp edx, edi
jle 0x100249dc
cmp edi, ecx
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025a73
mov eax, ebx
mov dword [esp + 0x10], eax
cmp edi, ecx
jge 0x10024a59
mov edx, dword [esp + 0x2c]
cmp ebx, dword [esi + 0x78]
jae 0x10024a35
movzx eax, byte [ebx]
cmp edx, eax
jne 0x10024a55
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, ecx
jl 0x10024a1d
jmp 0x10024a55
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10024a55
cmp ebx, dword [esi + 0x84]
jbe 0x10024a55
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x38], 0
jne 0x1002319f
cmp ebx, eax
jb case.0x100231ce.151
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
dec ebx
test eax, eax
jne 0x100261f5
cmp ebx, edi
jae 0x10024a70
jmp case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx edi, byte [ebx]
inc ebx
movzx edx, byte [ebp + 1]
mov dword [esp + 0x18], ebx
cmp edx, edi
je case.0x100231ce.151
cmp ecx, 0x20
jne 0x10024ad3
mov eax, dword [esi + 0x34]
movzx eax, byte [eax + edx]
cmp eax, edi
je case.0x100231ce.151
add ebp, 2
jmp 0x100238ee
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov edi, ecx
add ebp, 3
jmp 0x10024b8d
movzx ecx, byte [ebp + 1]
xor edi, edi
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x10], ecx
cmp dl, 0x42
je 0x10024b15
cmp dl, 0x4f
je 0x10024b15
and dword [esp + 0x34], edi
jmp 0x10024b1c
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
add ebp, 3
jmp 0x10024b91
xor eax, eax
inc eax
xor edi, edi
mov ecx, closesocket
mov dword [esp + 0x38], eax
inc ebp
mov dword [esp + 0x10], ecx
jmp 0x10024b94
xor eax, eax
inc eax
mov edi, eax
jmp 0x10024b26
xor eax, eax
inc eax
xor edi, edi
mov ecx, eax
jmp 0x10024b2b
movzx ecx, byte [ebp + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [esp + 0x38], eax
xor edi, edi
movzx eax, byte [ebp + 2]
or ecx, eax
jmp 0x10024aea
cmp ecx, 0x48
sbb eax, eax
and eax, 0xfffffff3
add eax, 0x48
sub ecx, eax
inc ebp
mov eax, ecx
and eax, 1
mov dword [esp + 0x34], eax
mov eax, closesocket
movsx edi, byte [ecx + 0x10087104]
movsx ecx, byte [ecx + 0x1008710c]
test ecx, ecx
cmove ecx, eax
mov dword [esp + 0x10], ecx
xor eax, eax
inc eax
movzx edx, byte [ebp]
inc ebp
cmp byte [esp + 0x23], 0x48
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ebp
jb 0x10024c94
mov eax, dword [esi + 0x34]
mov al, byte [edx + eax]
mov byte [esp + 0x23], al
movzx eax, al
mov dword [esp + 0x30], eax
xor eax, eax
inc eax
mov edx, eax
cmp edi, eax
jl 0x10024bf0
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
cmp dword [esp + 0x2c], eax
je case.0x100231ce.151
cmp dword [esp + 0x30], eax
je case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x10024bc6
cmp edi, ecx
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025aca
mov eax, ebx
mov dword [esp + 0x40], eax
jmp 0x10024c25
cmp ebx, dword [esi + 0x78]
jae 0x10024c2b
movzx edx, byte [ebx]
cmp dword [esp + 0x2c], edx
je 0x10024c4b
cmp dword [esp + 0x30], edx
je 0x10024c4b
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, ecx
jl 0x10024c0b
jmp 0x10024c4b
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x10024c4b
cmp ebx, dword [esi + 0x84]
jbe 0x10024c4b
xor edx, edx
inc edx
mov dword [esi + 0x60], edx
cmp ecx, edx
jg 0x10025dba
cmp dword [esp + 0x38], 0
jne 0x1002319f
cmp ebx, eax
jb case.0x100231ce.151
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
dec ebx
cmp ebx, edi
jae 0x10024c62
jmp case.0x100231ce.151
mov edx, eax
cmp edi, eax
jl 0x10024cba
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp dword [esp + 0x2c], eax
je case.0x100231ce.151
inc edx
cmp edx, edi
jle 0x10024c9a
cmp edi, ecx
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025b15
mov eax, ebx
mov dword [esp + 0x10], eax
cmp edi, ecx
jge 0x10024d17
mov edx, dword [esp + 0x2c]
cmp ebx, dword [esi + 0x78]
jae 0x10024cf3
movzx eax, byte [ebx]
cmp edx, eax
je 0x10024d13
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, ecx
jl 0x10024cdb
jmp 0x10024d13
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10024d13
cmp ebx, dword [esi + 0x84]
jbe 0x10024d13
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x38], 0
jne 0x1002319f
cmp ebx, eax
jb case.0x100231ce.151
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
dec ebx
cmp ebx, edi
jae 0x10024d2e
jmp case.0x100231ce.151
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x10], ecx
mov edi, ecx
xor ecx, ecx
inc ecx
add ebp, 3
mov dword [esp + 0x34], ecx
jmp 0x10024e15
movzx ecx, byte [ebp + 1]
xor edi, edi
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x10], ecx
xor ecx, ecx
cmp dl, 0x5c
sete cl
mov dword [esp + 0x34], ecx
add ebp, 3
jmp 0x10024e12
xor ecx, ecx
inc ecx
xor edi, edi
mov eax, closesocket
mov dword [esp + 0x10], eax
mov dword [esp + 0x38], ecx
inc ebp
jmp 0x10024e15
xor ecx, ecx
inc ecx
mov edi, ecx
jmp 0x10024dab
xor ecx, ecx
inc ecx
xor edi, edi
mov dword [esp + 0x10], ecx
jmp 0x10024db4
movzx ecx, byte [ebp + 1]
xor eax, eax
inc eax
shl ecx, 8
mov dword [esp + 0x38], eax
xor edi, edi
movzx eax, byte [ebp + 2]
or ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x10024da1
lea eax, [ecx - 0x55]
inc ebp
movsx edi, byte [eax + 0x10087104]
mov ecx, eax
movsx eax, byte [eax + 0x1008710c]
and ecx, 1
mov dword [esp + 0x34], ecx
test eax, eax
mov ecx, closesocket
cmove eax, ecx
mov dword [esp + 0x10], eax
xor ecx, ecx
inc ecx
mov dword [esp + 0x2c], edi
mov al, byte [ebp]
inc ebp
mov byte [esp + 0x23], al
movzx eax, al
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], ebp
test edi, edi
jle 0x10025166
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x10025c01.15
jmp dword [eax*4 + 0x100263e4]
mov edx, ecx
mov dword [esp + 0x3c], edx
cmp edi, ecx
jl 0x10025162
jmp 0x10024e5a
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x100259df
cmp dword [esi + 0x18], 0
lea edi, [esi + 0x1c]
je 0x10024e8c
push 0
push edi
push eax
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
jne case.0x100231ce.151
mov edx, dword [esp + 0x3c]
jmp 0x10024ead
sub eax, dword [edi]
cmp ebx, eax
ja 0x10024ead
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x10024ead
cmp dword [edi], ecx
je case.0x100231ce.151
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x100231ce.151
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x10024edf
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x78]
jb 0x10024edf
cmp dword [esi + 0x18], 0
jne 0x10024edf
cmp dword [edi], 2
jne 0x10024edf
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x10024edf
xor eax, eax
inc eax
mov dword [esi + 0x60], eax
cmp ecx, eax
jg 0x10025dba
mov edi, dword [esp + 0x2c]
inc ebx
inc edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], edx
cmp edx, edi
jle 0x10024e57
jmp 0x10025162
mov eax, dword [esi + 0x78]
sub eax, edi
cmp ebx, eax
ja 0x100259df
add ebx, edi
mov dword [esp + 0x18], ebx
jmp 0x10025162
xor edx, edx
inc edx
cmp edi, edx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025b3e
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
je 0x10024f51
jbe case.0x100231ce.151
cmp al, 0xc
jbe 0x10024f47
cmp al, 0xd
je 0x10024f5b
cmp al, 0x85
jne case.0x100231ce.151
cmp dword [esi + 0x64], 0
jne case.0x100231ce.151
inc ecx
cmp ecx, edi
jle 0x10024f1d
jmp 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10024f51
cmp byte [ebx], 0xa
jne 0x10024f51
inc ebx
mov dword [esp + 0x18], ebx
jmp 0x10024f51
xor edx, edx
inc edx
cmp edi, edx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025b3e
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 9
je case.0x100231ce.151
cmp al, 0x20
je case.0x100231ce.151
cmp al, 0xa0
je case.0x100231ce.151
inc ecx
cmp ecx, edi
jle 0x10024f77
jmp 0x10025162
xor edx, edx
inc edx
cmp edi, edx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025b3e
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 9
je 0x10024fd4
cmp al, 0x20
je 0x10024fd4
cmp al, 0xa0
jne case.0x100231ce.151
inc ecx
cmp ecx, edi
jle 0x10024fb4
jmp 0x10025162
xor edx, edx
inc edx
cmp edi, edx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025b3e
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
jb 0x1002500d
cmp al, 0xd
jbe case.0x100231ce.151
cmp al, 0x85
je case.0x100231ce.151
inc ecx
cmp ecx, edi
jle 0x10024fe9
jmp 0x10025162
xor edx, edx
inc edx
cmp edi, edx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025b3e
mov al, byte [ebx]
inc ebx
mov dword [esp + 0x18], ebx
cmp al, 0xa
jb case.0x100231ce.151
cmp al, 0xd
jbe 0x10025046
cmp al, 0x85
jne case.0x100231ce.151
inc ecx
cmp ecx, edi
jle 0x10025022
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
jne case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x1002505a
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
je case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x1002508c
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 1
jne case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x100250be
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 1
je case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x100250e9
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
jne case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x10025114
jmp 0x10025162
mov edx, ecx
cmp edi, ecx
jl 0x10025162
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
je case.0x100231ce.151
inc ebx
inc edx
mov dword [esp + 0x18], ebx
cmp edx, edi
jle 0x1002513f
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
cmp edi, edx
je 0x1002319f
cmp dword [esp + 0x34], 0
jne 0x10025d5e
add eax, 0xfffffffa
mov dword [esp + 0x40], ebx
cmp eax, 0xf
ja case.0x10025c01.15
jmp dword [eax*4 + 0x10026424]
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x10025242
cmp dword [esi + 0x18], 0
lea edi, [esi + 0x1c]
je 0x100251c6
push 0
push edi
push eax
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
jne 0x10025262
mov edx, dword [esp + 0x10]
jmp 0x100251e6
sub eax, dword [edi]
cmp ebx, eax
ja 0x100251e6
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x100251e6
xor eax, eax
inc eax
cmp dword [edi], eax
je 0x10025262
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je 0x10025262
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x10025218
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x78]
jb 0x10025218
cmp dword [esi + 0x18], 0
jne 0x10025218
cmp dword [edi], 2
jne 0x10025218
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne 0x10025218
xor eax, eax
inc eax
mov dword [esi + 0x60], eax
cmp ecx, eax
jg 0x10025dba
mov edi, dword [esp + 0x2c]
inc ebx
inc edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], edi
cmp edi, edx
jl 0x10025194
jmp 0x10025262
mov eax, dword [esi + 0x78]
sub edx, edi
sub eax, ebx
cmp edx, eax
jbe 0x10025276
mov ebx, dword [esi + 0x78]
mov dword [esp + 0x18], ebx
mov eax, dword [esi + 0x88]
test eax, eax
je 0x10025262
cmp ebx, dword [esi + 0x84]
jbe 0x10025262
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
cmp dword [esp + 0x38], 0
jne 0x1002319f
mov edi, dword [esp + 0x40]
jmp 0x10025ba4
add ebx, edx
mov dword [esp + 0x18], ebx
jmp 0x10025262
cmp edi, edx
jge 0x10025262
mov ecx, ebx
cmp ebx, dword [esi + 0x78]
jae 0x10025242
mov al, byte [ebx]
cmp al, 0xd
jne 0x100252a1
inc ebx
mov dword [esp + 0x18], ebx
cmp ebx, dword [esi + 0x78]
jae 0x10025262
cmp byte [ebx], 0xa
cmovne ebx, ecx
jmp 0x100252b7
cmp al, 0xa
je 0x100252b7
cmp dword [esi + 0x64], 0
jne 0x10025262
cmp al, 0xb
je 0x100252b7
cmp al, 0xc
je 0x100252b7
cmp al, 0x85
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x10025282
jmp 0x10025278
cmp ebx, dword [esi + 0x78]
jae 0x10025242
mov al, byte [ebx]
cmp al, 9
je 0x10025262
cmp al, 0x20
je 0x10025262
cmp al, 0xa0
je 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x100252c3
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
mov al, byte [ebx]
cmp al, 9
je 0x10025304
cmp al, 0x20
je 0x10025304
cmp al, 0xa0
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x100252e9
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
mov al, byte [ebx]
cmp al, 0xa
je 0x10025262
cmp al, 0xb
je 0x10025262
cmp al, 0xc
je 0x10025262
cmp al, 0xd
je 0x10025262
cmp al, 0x85
je 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x10025313
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
mov al, byte [ebx]
cmp al, 0xa
je 0x10025378
cmp al, 0xb
je 0x10025378
cmp al, 0xc
je 0x10025378
cmp al, 0xd
je 0x10025378
cmp al, 0x85
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x10025355
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x10025387
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
je 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x100253af
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 1
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x100253d7
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 1
je 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x100253ff
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
jne 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x10025427
jmp 0x10025262
cmp ebx, dword [esi + 0x78]
jae 0x10025242
movzx ecx, byte [ebx]
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
je 0x10025262
inc ebx
inc edi
mov dword [esp + 0x18], ebx
cmp edi, edx
jl 0x1002544f
jmp 0x10025262
cmp al, 0x74
mov eax, dword [esp + 0x138]
jne 0x100254a9
inc eax
push eax
push dword [esp + 0x2c]
lea eax, [ebp + 3]
push esi
push edi
push edx
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
mov ebp, dword [esp + 0x3c]
jmp 0x100255f2
inc eax
push eax
push dword [esp + 0x2c]
push esi
push edi
push edx
push dword [esp + 0x50]
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
add ebp, 3
jmp 0x100255f2
mov eax, dword [esi + 0x8c]
cmp eax, dword [esp + 0x14]
movzx ecx, byte [ebp + 4]
cmovle eax, dword [esp + 0x14]
mov edi, eax
movzx eax, byte [ebp + 5]
mov dword [esp + 0x14], edi
add ebp, 3
jmp 0x100254f9
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x100254f1
jmp 0x100236d6
cmp al, 0x75
je 0x100257c2
cmp al, 0x74
mov eax, dword [esp + 0x138]
jne 0x10025558
inc eax
push eax
push dword [esp + 0x2c]
lea eax, [ebp + 3]
push esi
push ecx
push dword [esp + 0x34]
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
mov al, byte [edi]
cmp al, 0x7b
je 0x10025773
cmp al, 0x82
jae 0x10025757
mov ebp, edi
jmp 0x100255ee
inc eax
push eax
push dword [esp + 0x2c]
push esi
push ecx
push dword [esp + 0x34]
push edi
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 0xfffffc1c
jne 0x10025583
cmp dword [esi + 0xb4], edi
jne 0x100261f5
xor eax, eax
test eax, eax
jne 0x100261f5
add ebp, 3
cmp byte [edi], 0x7b
mov dword [esp + 0x1c], ebp
je 0x100257ab
mov edi, dword [esp + 0x14]
jmp 0x100255f6
movzx edi, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl edi, 8
or edi, eax
mov dword [esp + 0x48], edi
lea eax, [edi + edi]
cmp eax, dword [esi + 0x14]
jl 0x10025dc1
cmp dl, 0x82
jae 0x1002560a
cmp dl, 0x7b
je 0x1002560a
cmp dword [esi + 0x68], 0
jne 0x10025614
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
cmp byte [ecx + ebp], 0x71
je 0x10025614
movzx eax, byte [ebp]
movzx eax, byte [eax + 0x10088770]
add ebp, eax
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jae 0x100261ef
mov ecx, dword [esp + 0x28]
jmp 0x10023161
mov dword [esi + 0x98], 2
mov eax, dword [esp + 0x138]
mov edi, dword [esi + 0xac]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
mov edx, eax
add esp, 0x1c
cmp edx, 0xfffffc20
jne 0x1002567a
movzx eax, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl eax, 8
or eax, ecx
add eax, ebp
cmp dword [esi + 0x7c], eax
jae 0x10025f1b
cmp byte [ebp], 0x71
je 0x10025678
cmp byte [eax], 0x71
jne 0x10025f1b
xor edx, edx
test edx, edx
jne 0x10025ed9
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esi + 0xac], edi
add ebp, ecx
cmp byte [ebp], 0x71
jne case.0x100231ce.151
mov dl, byte [esp + 0x23]
jmp case.0x100231ce.123
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ecx + 0x10088770]
movzx ecx, byte [ebp + 1]
add eax, ebp
push esi
push edi
push dword [esp + 0x34]
add ecx, eax
push ecx
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x100256ec
cmp eax, 0xfffffc1d
je 0x100256ec
cmp eax, 0xfffffc20
jne 0x100261f5
lea eax, [ebp + 2]
mov dword [esi + 0x7c], eax
mov eax, 0xfffffc1f
jmp 0x100261f5
push 0xffffffffffffffe6
jmp 0x100261f4
lea eax, [esp + 0xa0]
cmp dword [esp + 0x58], eax
je 0x1002571b
push dword [esp + 0x58]
call dword [0x1008f214]
pop ecx
mov eax, edi
jmp 0x100261f5
lea eax, [esp + 0xa0]
mov dword [esi + 0xa4], edx
cmp dword [esp + 0x58], eax
je case.0x100231ce.151
push dword [esp + 0x58]
call dword [0x1008f214]
pop ecx
jmp case.0x100231ce.151
push 0xfffffffffffffffa
jmp 0x100261f4
mov eax, ecx
jmp 0x100261f5
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push edi
jmp 0x10023706
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push edi
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
mov dword [esi + 0xb4], edi
mov eax, 0xfffffc1c
jmp 0x100261f5
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
jmp 0x10023fa8
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc1b
mov dword [esi + 0x8c], ecx
jmp 0x100261f5
mov eax, dword [esp + 0x14]
mov dword [esi + 0x8c], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0x80], ebx
mov dword [esi + 0x7c], eax
xor eax, eax
inc eax
jmp 0x100261f5
mov ecx, dword [esi + 0x88]
test ecx, ecx
je case.0x100231ce.151
lea eax, [ebx + 1]
cmp eax, dword [esi + 0x78]
jb case.0x100231ce.151
cmp dword [esi + 0x18], 0
jne case.0x100231ce.151
cmp dword [esi + 0x1c], 2
jne case.0x100231ce.151
mov al, byte [ebx]
cmp al, byte [esi + 0x2c]
jne case.0x100231ce.151
xor eax, eax
inc eax
mov dword [esi + 0x60], eax
cmp ecx, eax
jmp 0x10025db4
cmp eax, 0xfffffffe
jne 0x10025845
mov ebx, dword [esi + 0x78]
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jb case.0x100231ce.151
jmp 0x10025da0
cmp edi, dword [esp + 0x38]
jge case.0x100231ce.151
push dword [esp + 0x2c]
push esi
push dword [esp + 0x18]
push ebx
push dword [esp + 0x44]
call fcn.100264a4
add esp, 0x14
test eax, eax
js 0x1002583d
add ebx, eax
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025861
jmp 0x100261f5
cmp eax, 0xfffffffe
jne 0x100258d9
mov ecx, dword [esi + 0x88]
test ecx, ecx
je 0x100258d9
mov eax, dword [esi + 0x78]
cmp eax, dword [esi + 0x84]
jbe 0x100258d9
xor eax, eax
inc eax
mov dword [esi + 0x60], eax
cmp ecx, eax
jg 0x10025dba
mov edi, dword [esp + 0x3c]
cmp ebx, edi
jb case.0x100231ce.151
jmp 0x100258eb
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
sub ebx, dword [esp + 0x10]
cmp ebx, edi
jae 0x100258eb
jmp case.0x100231ce.151
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
inc eax
and ecx, 7
shr edx, 3
shl eax, cl
inc ebx
mov ecx, dword [esp + 0x2c]
test byte [edx + ecx], al
je case.0x100231ce.151
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025920
jmp 0x100261f5
mov eax, dword [esi + 0x88]
test eax, eax
je 0x1002599b
cmp ebx, dword [esi + 0x84]
jbe 0x1002599b
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jg 0x10025dba
mov edi, dword [esp + 0x3c]
cmp ebx, edi
jb case.0x100231ce.151
jmp 0x100259ad
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
dec ebx
cmp ebx, edi
jae 0x100259ad
jmp case.0x100231ce.151
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x100231ce.151
cmp ebx, dword [esi + 0x84]
jbe case.0x100231ce.151
jmp 0x10025daf
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov cl, byte [ebx]
movzx eax, cl
cmp dword [esp + 0x2c], eax
je 0x10025a26
cmp byte [esp + 0x23], cl
jne case.0x100231ce.151
inc ebx
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x100259fe
jmp 0x100261f5
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x2c], eax
jne case.0x100231ce.151
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025a51
jmp 0x100261f5
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
mov cl, byte [ebx]
movzx eax, cl
cmp dword [esp + 0x2c], eax
je case.0x100231ce.151
cmp byte [esp + 0x23], cl
je case.0x100231ce.151
inc ebx
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025a9c
jmp 0x100261f5
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
cmp ebx, dword [esi + 0x78]
jae 0x10025d92
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x2c], eax
je case.0x100231ce.151
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025af3
jmp 0x100261f5
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x100231ce.151
cmp ebx, dword [esi + 0x84]
jbe case.0x100231ce.151
mov dword [esi + 0x60], edx
cmp eax, edx
jmp 0x10025db4
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
dec ebx
cmp byte [esp + 0x23], 0x11
jne 0x10025ba4
cmp ebx, edi
jbe 0x10025ba6
cmp byte [ebx], 0xa
jne 0x10025ba4
lea eax, [ebx - 1]
cmp byte [eax], 0xd
cmove ebx, eax
cmp ebx, edi
jae 0x10025b62
jmp case.0x100231ce.151
cmp edi, dword [esp + 0x10]
jge case.0x100231ce.151
mov eax, dword [esi + 0x78]
cmp ebx, eax
jae 0x10025d92
cmp byte [esp + 0x23], 0xc
jne 0x10025bea
cmp dword [esi + 0x18], 0
lea ecx, [esi + 0x1c]
je 0x10025c08
push 0
push ecx
push eax
push dword [esi + 0x18]
push ebx
call fcn.1002b259
add esp, 0x14
test eax, eax
jne case.0x100231ce.151
xor edx, edx
inc edx
mov eax, dword [esp + 0x30]
movzx ecx, byte [ebx]
add eax, 0xfffffffa
inc ebx
cmp eax, 0xf
ja case.0x10025c01.15
jmp dword [eax*4 + 0x10026464]
sub eax, dword [ecx]
cmp ebx, eax
ja 0x10025bea
mov al, byte [ebx]
xor edx, edx
inc edx
cmp al, byte [esi + 0x2c]
jne 0x10025bed
cmp dword [ecx], edx
je case.0x100231ce.151
mov al, byte [ebx + 1]
cmp al, byte [esi + 0x2d]
je case.0x100231ce.151
jmp 0x10025bed
mov edx, dword [esi + 0x88]
test edx, edx
je case.0x10025c01.13
cmp ebx, dword [esi + 0x78]
jb case.0x10025c01.13
cmp dword [esi + 0x18], 0
jne case.0x10025c01.13
cmp dword [esi + 0x1c], 2
jne case.0x10025c01.13
movzx eax, byte [esi + 0x2c]
cmp ecx, eax
jne case.0x10025c01.13
xor eax, eax
inc eax
mov dword [esi + 0x60], eax
cmp edx, eax
jg 0x10025dba
jmp case.0x10025c01.13
cmp ecx, 0xa
je case.0x10025c01.13
jbe case.0x100231ce.151
cmp ecx, 0xc
jbe 0x10025c9d
cmp ecx, 0xd
je 0x10025cac
cmp ecx, 0x85
jne case.0x100231ce.151
cmp dword [esi + 0x64], 0
jne case.0x100231ce.151
jmp case.0x10025c01.13
cmp ebx, dword [esi + 0x78]
jae case.0x10025c01.13
cmp byte [ebx], 0xa
jne case.0x10025c01.13
inc ebx
jmp case.0x10025c01.13
cmp ecx, 9
je case.0x100231ce.151
cmp ecx, 0x20
je case.0x100231ce.151
cmp ecx, 0xa0
jmp 0x10025d57
cmp ecx, 9
je case.0x10025c01.13
cmp ecx, 0x20
je case.0x10025c01.13
cmp ecx, 0xa0
jmp 0x10025ca1
cmp ecx, 0xa
jb case.0x10025c01.13
cmp ecx, 0xd
jbe case.0x100231ce.151
cmp ecx, 0x85
jmp 0x10025d57
cmp ecx, 0xa
jb case.0x100231ce.151
cmp ecx, 0xd
jbe case.0x10025c01.13
cmp ecx, 0x85
jmp 0x10025ca1
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
jmp 0x10025ca1
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 4
jmp 0x10025d57
mov eax, dword [esi + 0x38]
test byte [ecx + eax], dl
jmp 0x10025ca1
mov eax, dword [esi + 0x38]
test byte [ecx + eax], dl
jmp 0x10025d57
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
jmp 0x10025ca1
mov eax, dword [esi + 0x38]
test byte [ecx + eax], 0x10
je case.0x100231ce.151
inc edi
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
push esi
push dword [esp + 0x20]
push dword [esp + 0x34]
push ebp
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025bad
jmp 0x100261f5
push 0xfffffffffffffff2
jmp 0x100261f4
mov eax, dword [esi + 0x88]
test eax, eax
je case.0x100231ce.151
cmp ebx, dword [esi + 0x84]
jbe case.0x100231ce.151
xor ecx, ecx
inc ecx
mov dword [esi + 0x60], ecx
cmp eax, ecx
jle case.0x100231ce.151
push 0xfffffffffffffff4
jmp 0x100261f4
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + eax*4]
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + 0x10]
sub ecx, edi
mov dword [esp + 0x3c], eax
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x90]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0xac]
mov dword [esp + 0x40], eax
mov eax, ebx
sub eax, dword [esi + 0x74]
mov dword [edx + ecx*4], eax
cmp byte [esp + 0x23], 0x82
jb 0x10025e0c
mov dword [esi + 0x98], 2
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
mov edi, eax
add esp, 0x1c
cmp edi, 0xfffffc1c
je 0x10025ea9
cmp edi, 0xfffffc20
jne 0x10025e74
movzx edx, byte [ebp + 1]
movzx ecx, byte [ebp + 2]
shl edx, 8
or edx, ecx
add edx, ebp
cmp dword [esi + 0x7c], edx
jae 0x1002571b
cmp byte [ebp], 0x71
je 0x10025e72
cmp byte [edx], 0x71
jne 0x1002571b
xor edi, edi
test edi, edi
jne 0x1002571b
mov eax, dword [esp + 0x4c]
mov dword [esi + 0x90], eax
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x40]
add ebp, ecx
mov dword [esi + 0xac], eax
cmp byte [ebp], 0x71
je 0x10025dfb
mov edx, dword [esp + 0x48]
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x44]
lea ecx, [edx + edx]
mov dword [eax + ecx*4], ebx
mov eax, dword [esi + 0xc]
mov ebx, dword [esp + 0x3c]
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sub ecx, edx
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*4], edx
jmp 0x1002571b
cmp edx, 0xfffffc1c
jne 0x10025f1b
mov al, byte [ebp]
cmp al, 0x7b
je 0x10025f10
cmp al, 0x71
jne 0x10025f01
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x71
je 0x10025eec
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub ebp, ecx
xor eax, eax
cmp dword [esi + 0xb4], ebp
cmove edx, eax
mov eax, edx
jmp 0x100261f5
and dword [esi + 0xac], 0
lea eax, [ebp + 2]
mov dword [esi + 0xb0], eax
mov eax, dword [esp + 0x138]
movzx ecx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push edi
push dword [esp + 0x34]
movzx eax, byte [eax + 0x10088770]
add eax, ebp
add ecx, eax
push ecx
push ebx
call fcn.100230b8
mov edi, eax
add esp, 0x1c
xor eax, eax
inc eax
cmp edi, eax
je 0x10025f73
cmp edi, 0xfffffc19
jne 0x10025f8a
cmp dword [esi + 0xac], 0
jne 0x10025f8a
lea eax, [ebp + 2]
mov dword [esi + 0xac], eax
jmp 0x1002571b
cmp edi, 0xfffffc1f
jne 0x1002571b
push dword [esi + 0x7c]
lea eax, [ebp + 2]
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x1002571b
mov dword [esi + 0x7c], ebx
mov eax, 0xfffffc1e
jmp 0x100261f5
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ecx + 0x10088770]
push esi
push edi
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10026003
cmp eax, 0xfffffc1d
je 0x10026003
cmp eax, 0xfffffc1e
je 0x10026003
cmp eax, 0xfffffc1f
je 0x10026003
cmp eax, 0xfffffc20
jne 0x100261f5
mov eax, 0xfffffc1a
jmp 0x100261f5
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ecx + 0x10088770]
push esi
push edi
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10026042
cmp eax, 0xfffffc20
jne 0x100261f5
mov eax, 0xfffffc1d
jmp 0x100261f5
and dword [esi + 0xac], 0
lea edi, [ebp + 2]
mov eax, dword [esp + 0x138]
inc eax
mov dword [esi + 0xb0], edi
movzx ecx, byte [ebp + 1]
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
add ecx, eax
push ecx
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 1
je 0x1002609b
cmp eax, 0xfffffc19
jne 0x10026033
cmp dword [esi + 0xac], 0
jne 0x10026033
mov dword [esi + 0xac], edi
jmp 0x10026033
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ecx + 0x10088770]
push esi
push edi
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
je 0x10025fac
cmp eax, 0xfffffc1d
je 0x10025fac
cmp eax, 0xfffffc20
jne 0x100261f5
jmp 0x10025fac
mov eax, dword [esp + 0x138]
inc eax
push eax
push dword [esp + 0x2c]
movzx eax, byte [ecx + 0x10088770]
push esi
push edi
push dword [esp + 0x34]
add eax, ebp
push eax
push ebx
call fcn.100230b8
add esp, 0x1c
test eax, eax
jne 0x100261f5
mov dword [esi + 0x7c], ebp
mov eax, 0xfffffc20
jmp 0x100261f5
and dword [esi + 0xac], 0
lea edi, [ebp + 2]
mov eax, dword [esp + 0x138]
inc eax
mov dword [esi + 0xb0], edi
movzx ecx, byte [ebp + 1]
push eax
push dword [esp + 0x2c]
movzx eax, byte [ebp]
push esi
push dword [esp + 0x20]
movzx eax, byte [eax + 0x10088770]
push dword [esp + 0x34]
add eax, ebp
add ecx, eax
push ecx
push ebx
call fcn.100230b8
add esp, 0x1c
cmp eax, 1
je 0x1002617f
cmp eax, 0xfffffc19
jne 0x1002611b
cmp dword [esi + 0xac], 0
jne 0x1002611b
mov dword [esi + 0xac], edi
jmp 0x1002611b
mov ebp, dword [esp + 0x24]
cmp ebx, ebp
jne 0x100261c9
cmp ecx, 0x99
je 0x100261c9
xor eax, eax
cmp dword [esi + 0xa4], eax
jne 0x100261c9
cmp dword [esi + 0x58], eax
jne case.0x100231ce.151
cmp dword [esi + 0x5c], eax
je 0x100261c9
mov eax, dword [esi + 0x94]
add eax, dword [esi + 0x74]
cmp ebp, eax
je case.0x100231ce.151
push 1
test dl, dl
mov dword [esi + 0x80], ebx
mov eax, 0xfffffc19
mov dword [esi + 0x8c], edi
pop ecx
mov dword [esi + 0x7c], ebp
cmove eax, ecx
jmp 0x100261f5
push 0xfffffffffffffffb
jmp 0x100261f4
push 0xffffffffffffffeb
jmp 0x100261f4
inc eax
mov dword [esi], eax
push 0xfffffffffffffff8
pop eax
mov ecx, dword [esp + 0x118]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1003c212
add esp, 0x10c
ret