Function at 0x324af10
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x48
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
xor edx, edx
push esi
mov esi, dword [esp + 0x58]
xor eax, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov ebx, dword [esi]
mov edx, ebx
mov ecx, dword [esi + 0x14]
shr edx, 0xa
and edx, 0x7f
mov dword [esp + 0x34], ebx
mov dword [esp + 0xc], edx
test ecx, 0x7f000000
jne case.0x324af60.1
cmp dword [esp + 0x64], eax
jne 0x324afbf
lea eax, [edx - 1]
cmp eax, 0x3c
ja case.0x324af60.3
movzx eax, byte [eax + 0x324d230]
jmp dword [eax*4 + 0x324d224]
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x1c], 0
je case.0x324af60.1
shl edx, 0xa
and ebx, 0xfffe03ff
or ebx, edx
mov dword [esi], ebx
mov eax, dword [eax + 0x1c]
push esi
call eax
add esp, 4
test eax, eax
je case.0x324af60.1
mov eax, dword [esi + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [esi + 0x14], eax
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret
and ecx, 0x8bffffff
mov eax, 1
or ecx, 0xb000000
mov dword [esi + 0x14], ecx
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ecx, dword [esp + 0xc]
xor edx, edx
cmp ecx, 0x2b
mov eax, ebp
cmovne eax, edx
cmp ecx, 0x30
mov dword [esp + 0x2c], eax
mov eax, ebp
cmovne eax, edx
mov dword [esp + 0x24], eax
lea eax, [ecx - 0x10]
cmp eax, 0xf
ja case.0x324afec.17
movzx eax, byte [eax + 0x324d27c]
jmp dword [eax*4 + 0x324d270]
mov dword [esp + 0x14], ebp
jmp case.0x324afec.17
mov dword [esp + 0x1c], ebp
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
add edx, ebp
mov dword [esp + 0x18], edx
push edi
mov edi, ebp
mov dword [esp + 0x14], edi
cmp ebp, edx
je 0x324d069
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], edx
mov dl, byte [edi]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], ebp
mov byte [esp + 0x2c], dl
cmp ecx, 0x38
jg 0x324b800
inc dword [esi + 4]
cmp dword [esi + 4], 0x14000
ja 0x324cde7
mov ebp, dword [esp + 0x14]
jmp 0x324b085
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x60]
jmp 0x324b085
mov ecx, 0x3e
jmp 0x324b085
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
lea edi, [esi + 8]
nop dword [eax]
lea eax, [ecx - 1]
cmp eax, 0x3d
ja case.default.0x324b09c
jmp dword [eax*4 + 0x324d28c]
cmp dl, 0xd
je 0x324b8c7
cmp dl, 0xa
jne 0x324b809
mov ecx, 0x37
jmp 0x324b085
mov ebx, dword [esi]
mov edi, dword [esp + 0x14]
shr ebx, 0x11
mov dword [esp + 0x34], edi
and ebx, 0x7f
nop dword [eax]
cmp edi, dword [esp + 0x1c]
je 0x324b954
mov dl, byte [edi]
mov byte [esp + 0x2c], dl
cmp dl, 0xd
je 0x324b8d9
cmp dl, 0xa
je 0x324b45c
cmp dword [esp + 0x38], 0
jl 0x324b110
cmp dl, 9
je 0x324b110
cmp dl, 0x1f
jbe 0x324cdfb
cmp dl, 0x7f
je 0x324cdfb
mov dh, dl
or dh, 0x20
cmp ebx, 0x16
ja case.0x324b125.1
movzx eax, byte [ebx + 0x324d3b4]
jmp dword [eax*4 + 0x324d384]
mov eax, dword [esp + 0x64]
sub eax, edi
mov edi, 0x14000
add eax, dword [esp + 0x68]
cmp eax, edi
cmovb edi, eax
push edi
push 0xd
push dword [esp + 0x1c]
call fcn.0338dbf0
push edi
push 0xa
push dword [esp + 0x28]
mov ebp, eax
call fcn.0338dbf0
add esp, 0x18
mov edi, eax
test ebp, ebp
je 0x324b17c
test edi, edi
je 0x324b16b
cmp ebp, edi
jae 0x324b187
mov ecx, dword [esp + 0x10]
mov edi, ebp
dec edi
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, dword [esp + 0x1c]
test edi, edi
cmovne eax, edi
mov edi, eax
dec edi
mov ecx, dword [esp + 0x10]
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dl, 0x20
je case.0x324b125.9
cmp dl, 0x30
jl 0x324ce0f
cmp dl, 0x39
jg 0x324ce0f
mov ecx, dword [esi + 0xc]
mov ebp, dword [esi + 8]
cmp ecx, 0x19999999
ja 0x324ce0f
jb 0x324b1cd
cmp ebp, 0x99999998
ja 0x324ce0f
movsx eax, dl
sub eax, 0x30
cdq
mov edi, eax
mov eax, ebp
shld ecx, eax, 2
shl eax, 2
add ebp, eax
mov eax, dword [esi + 0xc]
adc eax, ecx
mov ecx, dword [esp + 0x10]
shld eax, ebp, 1
add ebp, ebp
add edi, ebp
mov dword [esi + 8], edi
mov edi, dword [esp + 0x14]
adc edx, eax
inc edi
mov dword [esi + 0xc], edx
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, dword [esi]
lea ecx, [eax + 0x1000000]
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov dword [esi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 7
ja 0x324b249
cmp dh, byte [ecx + str.chunked]
jne 0x324b249
cmp ecx, 6
jne 0x324b188
inc edi
lea ebx, [ecx + 0xd]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov ecx, dword [esp + 0x10]
xor ebx, ebx
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dh, 0x6b
jne 0x324b26d
inc edi
mov ebx, 0xf
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dh, 0x63
jne 0x324b281
inc edi
mov ebx, 0x10
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dh, 0x75
jne 0x324b295
inc edi
mov ebx, 0x11
mov dword [esp + 0x14], edi
jmp 0x324b0d0
movzx eax, dh
cmp byte [eax + 0x33b5350], 0
je 0x324b2b0
inc edi
mov ebx, 0x12
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dh, 0x20
je case.0x324b125.9
xor ebx, ebx
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, dword [esi]
lea ecx, [eax + 0x1000000]
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov dword [esi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0xa
ja 0x324b308
cmp dh, byte [ecx + str.keep_alive]
jne 0x324b308
cmp ecx, 9
mov ecx, dword [esp + 0x10]
jne case.0x324b125.9
inc edi
mov ebx, 0x14
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov ecx, dword [esp + 0x10]
inc edi
mov ebx, 0x12
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, dword [esi]
lea ecx, [eax + 0x1000000]
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov dword [esi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 5
ja 0x324b308
cmp dh, byte [ecx + str.close]
jne 0x324b308
cmp ecx, 4
mov ecx, dword [esp + 0x10]
jne case.0x324b125.9
inc edi
mov ebx, 0x15
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, dword [esi]
lea ecx, [eax + 0x1000000]
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov dword [esi], ecx
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 7
ja 0x324b308
cmp dh, byte [ecx + str.upgrade]
jne 0x324b308
cmp ecx, 6
mov ecx, dword [esp + 0x10]
jne case.0x324b125.9
inc edi
mov ebx, 0x16
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dl, 0x2c
jne case.0x324b125.9
and dword [esi], 0x80ffffff
mov ebx, 0xe
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
xor eax, eax
cmp dl, 0x20
cmove eax, ebx
inc edi
mov ebx, eax
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dl, 0x2c
jne 0x324b42f
cmp ebx, 0x14
jne 0x324b3f5
or dword [esi], 8
mov ebx, 0xe
and dword [esi], 0x80ffffff
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp ebx, 0x15
jne 0x324b412
or dword [esi], 0x10
mov ebx, 0xe
and dword [esi], 0x80ffffff
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp ebx, 0x16
jne 0x324b41a
or dword [esi], 0x20
and dword [esi], 0x80ffffff
mov ebx, 0xe
inc edi
mov dword [esp + 0x14], edi
jmp 0x324b0d0
cmp dl, 0x20
je case.0x324b125.9
inc edi
mov ebx, 0x12
mov dword [esp + 0x14], edi
jmp 0x324b0d0
xor ebx, ebx
mov ecx, 0x30
inc edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
jmp 0x324b0d0
mov eax, edi
mov ecx, 0x32
sub eax, dword [esp + 0x34]
add dword [esi + 4], eax
cmp dword [esi + 4], 0x14000
mov dword [esp + 0x10], ecx
ja 0x324cde7
shl ebx, 0x11
xor ebx, dword [esi]
and ebx, 0xfe0000
xor ebx, dword [esi]
cmp dword [esp + 0x28], 0
mov dword [esi], ebx
je 0x324b06f
mov ebp, dword [esp + 0x60]
cmp dword [ebp + 0x10], 0
je 0x324b500
mov ecx, dword [esp + 0x28]
and ebx, 0xfffecbff
or ebx, 0xc800
mov eax, edi
mov dword [esi], ebx
sub eax, ecx
push eax
mov ebx, ebp
push ecx
push esi
mov eax, dword [ebx + 0x10]
call eax
add esp, 0xc
test eax, eax
je 0x324b4d6
mov eax, dword [esi + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d057
mov dl, byte [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x28], 0
jmp 0x324b085
mov ebx, ebp
mov dword [esp + 0x28], 0
mov ebp, dword [esp + 0x14]
jmp 0x324b085
cmp dl, 0x20
je 0x324b562
cmp dl, 9
je 0x324b562
mov ecx, dword [esi]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
add eax, 0xffffffed
cmp eax, 3
ja case.default.0x324b533
jmp dword [eax*4 + 0x324d3cc]
or ecx, 8
mov dword [esi], ecx
jmp case.default.0x324b533
or ecx, 0x10
mov dword [esi], ecx
jmp case.default.0x324b533
or ecx, 4
mov dword [esi], ecx
jmp case.default.0x324b533
or ecx, 0x20
mov dword [esi], ecx
jmp case.default.0x324b533
mov ecx, 0x2f
jmp 0x324b085
cmp dl, 0x20
je 0x324b98e
cmp dl, 9
je 0x324b98e
mov edi, dword [esi]
mov eax, edi
shr eax, 0x11
mov ecx, edi
and eax, 0x7f
add eax, 0xffffffed
cmp eax, 3
ja case.default.0x324b592
jmp dword [eax*4 + 0x324d3dc]
mov ecx, edi
or ecx, 8
jmp 0x324b5b3
mov ecx, edi
or ecx, 0x10
jmp 0x324b5b3
mov ecx, edi
or ecx, 0x20
jmp 0x324b5b3
mov ecx, edi
or ecx, 4
mov dword [esi], ecx
mov edi, dword [esp + 0x28]
mov eax, ebp
test edi, edi
mov ebx, 0x2a
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x60]
cmovne eax, edi
mov edi, eax
mov dword [esp + 0x28], edi
test edi, edi
je case.default.0x324b533
cmp dword [ebx + 0x10], 0
je 0x324b638
mov eax, ebp
and ecx, 0xfffeabff
sub eax, edi
or ecx, 0xa800
push eax
mov dword [esi], ecx
mov eax, dword [ebx + 0x10]
push edi
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324b612
mov eax, dword [esi + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324ce62
mov dl, byte [esp + 0x2c]
mov dword [esp + 0x28], 0
jmp 0x324b085
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], 0
jmp 0x324b085
cmp dl, 0xa
jne 0x324ce70
mov ecx, dword [esi]
mov eax, ecx
shr eax, 2
test al, 0x10
je 0x324b6b4
mov ebx, dword [esp + 0x60]
cmp dword [ebx + 0x24], 0
je 0x324b079
and ecx, 0xfffefbff
or ecx, 0xf800
mov dword [esi], ecx
mov eax, dword [ebx + 0x24]
push esi
call eax
add esp, 4
test eax, eax
je 0x324b696
mov eax, dword [esi + 0x14]
and eax, 0x8affffff
or eax, 0xa000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324ce62
mov dl, byte [esp + 0x2c]
jmp 0x324b085
test al, 1
je 0x324b6c0
test al, al
js 0x324ce30
and eax, 0x28
mov ebx, 0x38
mov dword [esp + 0x10], ebx
cmp al, 0x28
je 0x324b6da
cmp byte [esi + 0x16], 5
je 0x324b6da
xor ecx, ecx
jmp 0x324b6df
mov ecx, 0x80000000
mov eax, dword [esi + 0x14]
mov ebx, dword [esp + 0x60]
and eax, 0x7fffffff
or eax, ecx
mov dword [esi + 0x14], eax
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x324b721
push esi
call eax
add esp, 4
sub eax, 0
je 0x324b71d
sub eax, 1
je 0x324b717
sub eax, 1
jne 0x324ce44
or dword [esi + 0x14], 0x80000000
or dword [esi], 0x100
mov dl, byte [esp + 0x2c]
test dword [esi + 0x14], 0x7f000000
jne 0x324ce54
mov ecx, dword [esp + 0x10]
jmp 0x324b085
mov eax, dword [esp + 0x64]
mov ecx, dword [edi]
sub eax, ebp
add eax, dword [esp + 0x68]
cdq
mov ebp, edx
mov ebx, eax
mov edx, dword [edi + 4]
cmp edx, ebp
ja 0x324b759
jb 0x324b755
cmp ecx, ebx
jae 0x324b759
mov ebx, ecx
mov ebp, edx
mov esi, dword [esp + 0x24]
test esi, esi
mov eax, dword [esp + 0x14]
cmovne eax, esi
mov esi, dword [esp + 0x5c]
sub ecx, ebx
mov dword [esp + 0x24], eax
mov dword [edi], ecx
sbb edx, ebp
mov dword [edi + 4], edx
mov edi, dword [esp + 0x14]
dec edi
add edi, ebx
or ecx, edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x14], edi
jne 0x324b9a0
mov dl, byte [esp + 0x2c]
mov ecx, 0x3e
test eax, eax
je 0x324b800
cmp dword [ebx + 0x18], 0
je 0x324b7ec
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
and eax, 0xfffefbff
or eax, 0xf800
mov dword [esi], eax
mov eax, edi
sub eax, ecx
inc eax
push eax
mov eax, dword [ebx + 0x18]
push ecx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324b7d7
mov eax, dword [esi + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d057
mov dl, byte [esp + 0x2c]
mov dword [esp + 0x24], 0
nop dword [eax + eax]
mov ebp, dword [esp + 0x14]
jmp 0x324b085
mov edi, dword [esp + 0x14]
movzx eax, dl
mov al, byte [eax + 0x33b5350]
test al, al
je 0x324cdfb
cmp dword [esp + 0x40], 0
mov ecx, edi
mov edx, dword [esi]
mov ebx, 0x2b
cmovne ecx, dword [esp + 0x44]
mov dword [esp + 0x30], ecx
mov ecx, edx
movsx eax, al
and ecx, 0x80ffffff
add eax, 0xffffff9d
mov dword [esi], ecx
mov dword [esp + 0x10], ebx
cmp eax, 0x12
ja case.0x324b855.100
movzx eax, byte [eax + 0x324d400]
jmp dword [eax*4 + 0x324d3ec]
mov eax, esi
and ecx, 0xff03ffff
or ecx, 0x20000
mov dword [eax], ecx
jmp 0x324c11b
mov ecx, edx
mov eax, esi
and ecx, 0x800bffff
or ecx, 0xa0000
mov dword [eax], ecx
jmp 0x324c11b
mov ecx, edx
mov eax, esi
and ecx, 0x800fffff
or ecx, 0xe0000
mov dword [eax], ecx
jmp 0x324c11b
mov ecx, edx
mov eax, esi
and ecx, 0x8011ffff
or ecx, 0x100000
mov dword [eax], ecx
jmp 0x324c11b
mov eax, esi
mov ecx, edx
and ecx, 0x8001ffff
mov dword [eax], ecx
jmp 0x324c11b
mov ecx, 0x37
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x14]
jmp 0x324c123
mov edx, dword [esp + 0x28]
mov eax, ebx
shl eax, 0x11
mov ecx, 0x32
xor eax, dword [esi]
and eax, 0xfe0000
mov dword [esp + 0x10], ecx
xor eax, dword [esi]
mov dword [esi], eax
test edx, edx
je 0x324b954
mov ebp, dword [esp + 0x60]
cmp dword [ebp + 0x10], 0
je 0x324b94c
and eax, 0xfffecbff
or eax, 0xc800
mov dword [esi], eax
mov eax, edi
sub eax, edx
push eax
mov eax, dword [ebp + 0x10]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324b933
mov eax, dword [esi + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
mov dword [esp + 0x28], 0
shl ebx, 0x11
mov eax, edi
xor ebx, dword [esi]
sub eax, dword [esp + 0x34]
and ebx, 0xfe0000
xor dword [esi], ebx
add dword [esi + 4], eax
cmp dword [esi + 4], 0x14000
ja 0x324cde7
mov edx, dword [esp + 0x1c]
lea eax, [edi - 1]
mov ebx, dword [esp + 0x60]
cmp edi, edx
cmovne eax, edi
mov edi, eax
jmp 0x324c127
mov edi, dword [esp + 0x14]
mov ecx, 0x2c
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
jmp 0x324c123
cmp dl, 0xd
je 0x324b8d0
cmp dl, 0xa
je 0x324b8d0
mov eax, dword [esi]
lea edi, [esi + 8]
and eax, 0xfffffc03
mov dword [edi], 0xffffffff
mov dword [esi], eax
mov dword [edi + 4], 0xffffffff
cmp dl, 0x48
je 0x324b9f0
and eax, 0xfffffffc
mov ebx, 0x12
mov dword [esi], eax
mov dword [esp + 0x10], ebx
jmp 0x324be7d
cmp dword [ebx], 0
mov ecx, 3
mov dword [esp + 0x10], ecx
je 0x324b8d0
and eax, 0xfffe0fff
or eax, 0xc00
mov dword [esi], eax
mov eax, dword [ebx]
push esi
call eax
add esp, 4
test eax, eax
je 0x324ba2a
mov eax, dword [esi + 0x14]
and eax, 0x81ffffff
or eax, 0x1000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
mov edi, dword [esp + 0x14]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0xd
je 0x324c123
cmp dl, 0xa
je 0x324c123
mov ecx, dword [esi + 0x14]
and ecx, 0x8dffffff
or ecx, 0xd000000
jmp 0x324d02c
cmp dl, 0x54
jne 0x324ba97
mov eax, dword [esi]
mov ecx, 6
mov edi, dword [esp + 0x14]
and eax, 0xfffffffd
or eax, 1
mov dword [esp + 0x10], ecx
mov dword [esi], eax
jmp 0x324c123
cmp dl, 0x45
jne 0x324ce84
mov eax, dword [esi]
mov ecx, 0x13
mov edi, dword [esp + 0x14]
and eax, 0x82fffffc
or eax, 0x2000000
mov byte [esi + 0x16], 2
mov dword [esp + 0x10], ecx
mov dword [esi], eax
jmp 0x324c123
mov eax, dword [esi]
and eax, 0xfffffc03
mov dword [edi], 0xffffffff
mov dword [esi], eax
mov dword [edi + 4], 0xffffffff
cmp dl, 0xa
je 0x324baf6
cmp dl, 0xd
je 0x324baf6
cmp dl, 0x48
jne 0x324ce84
mov ecx, 5
mov dword [esp + 0x10], ecx
cmp dword [ebx], 0
je 0x324b8d0
shl ecx, 0xa
xor ecx, eax
and ecx, 0x1fc00
xor ecx, eax
mov dword [esi], ecx
jmp 0x324ba0e
mov edi, dword [esp + 0x14]
cmp dl, 0x54
jne 0x324ce98
mov ecx, 6
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x54
jne 0x324ce98
mov ecx, 7
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x50
jne 0x324ce98
mov ecx, 8
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x2f
jne 0x324ce98
mov ecx, 9
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x324ceac
movsx ax, dl
mov ecx, 0xa
mov dword [esp + 0x10], ecx
sub ax, 0x30
mov word [esi + 0x10], ax
jmp 0x324c123
cmp dl, 0x2e
jne 0x324bbbf
mov edi, dword [esp + 0x14]
mov ecx, 0xb
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0x30
jl 0x324cec0
cmp dl, 0x39
jg 0x324cec0
mov ax, word [esi + 0x10]
mov edi, dword [esp + 0x14]
mov cx, ax
shl ax, 2
add cx, ax
movsx ax, dl
add cx, cx
sub ax, 0x30
add cx, ax
movzx eax, cx
mov ecx, 0x3e7
mov word [esi + 0x10], ax
cmp ax, cx
ja 0x324ceac
mov ecx, dword [esp + 0x10]
jmp 0x324c123
mov edi, dword [esp + 0x14]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x324ceac
movsx ax, dl
mov ecx, 0xc
mov dword [esp + 0x10], ecx
sub ax, 0x30
mov word [esi + 0x12], ax
jmp 0x324c123
cmp dl, 0x20
jne 0x324bc4f
mov edi, dword [esp + 0x14]
mov ecx, 0xd
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0x30
jl 0x324cec0
cmp dl, 0x39
jg 0x324cec0
mov ax, word [esi + 0x12]
mov edi, dword [esp + 0x14]
mov cx, ax
shl ax, 2
add cx, ax
movsx ax, dl
add cx, cx
sub ax, 0x30
add cx, ax
movzx eax, cx
mov ecx, 0x3e7
mov word [esi + 0x12], ax
cmp ax, cx
ja 0x324ceac
mov ecx, dword [esp + 0x10]
jmp 0x324c123
mov edi, dword [esp + 0x14]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x324bcc4
movsx ax, dl
mov ecx, 0xe
mov dword [esp + 0x10], ecx
sub ax, 0x30
mov word [esi + 0x14], ax
jmp 0x324c123
cmp dl, 0x20
je 0x324c123
mov ecx, dword [esi + 0x14]
and ecx, 0x8fffffff
or ecx, 0xf000000
jmp 0x324d02c
lea eax, [edx - 0x30]
cmp al, 9
ja 0x324bd1f
mov ax, word [esi + 0x14]
mov edi, dword [esp + 0x14]
mov cx, ax
shl ax, 2
add cx, ax
movsx ax, dl
add cx, cx
sub cx, 0x30
add cx, ax
mov word [esi + 0x14], cx
mov ecx, dword [esi + 0x14]
cmp cx, 0x3e7
ja 0x324bcd0
mov ecx, dword [esp + 0x10]
jmp 0x324c123
cmp dl, 0xa
je 0x324c3de
cmp dl, 0xd
je 0x324bd49
mov edi, dword [esp + 0x14]
cmp dl, 0x20
jne 0x324bccd
mov ecx, 0xf
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xd
jne 0x324bd5b
mov edi, dword [esp + 0x14]
mov ecx, 0x11
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0xa
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jne 0x324bd7a
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
jmp 0x324c12b
and dword [esi], 0x80ffffff
mov ebp, edi
cmp dword [esp + 0x48], 0
mov ecx, 0x10
mov dword [esp + 0x10], ecx
cmovne ebp, dword [esp + 0x4c]
mov dword [esp + 0x20], ebp
jmp 0x324c12f
mov ebp, dword [esp + 0x20]
cmp dl, 0xd
jne 0x324be1b
mov edi, dword [esp + 0x14]
mov ecx, 0x11
mov dword [esp + 0x10], ecx
test ebp, ebp
je 0x324be0e
cmp dword [ebx + 8], 0
je 0x324be08
mov eax, dword [esi]
and eax, 0xfffe47ff
or eax, 0x4400
mov dword [esi], eax
mov eax, edi
sub eax, ebp
push eax
mov eax, dword [ebx + 8]
push ebp
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324bdef
mov eax, dword [esi + 0x14]
and eax, 0x88ffffff
or eax, 0x8000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x324c12f
cmp dl, 0xa
jne 0x324cdcd
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
test ebp, ebp
je 0x324cdcd
cmp dword [ebx + 8], 0
mov edi, dword [esp + 0x14]
je 0x324be08
mov eax, dword [esi]
and eax, 0xfffeabff
or eax, 0xa800
jmp 0x324bdca
mov edi, dword [esp + 0x14]
cmp dl, 0xa
jne 0x324ce98
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xd
je 0x324b8d0
cmp dl, 0xa
je 0x324b8d0
mov ecx, dword [esi]
mov al, dl
and ecx, 0xfffffc03
mov dword [edi], 0xffffffff
or al, 0x20
mov dword [esi], ecx
mov dword [edi + 4], 0xffffffff
cmp al, 0x61
jb case.0x324bec9.69
cmp al, 0x7a
ja case.0x324bec9.69
and ecx, 0x81ffffff
movsx eax, dl
or ecx, 0x1000000
mov byte [esi + 0x16], 0
add eax, 0xffffffbf
mov dword [esi], ecx
cmp eax, 0x14
ja case.0x324bec9.69
jmp dword [eax*4 + 0x324d414]
mov byte [esi + 0x16], 0x13
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0x10
jmp case.0x324bec9.68
mov byte [esi + 0x16], 5
jmp case.0x324bec9.68
mov byte [esi + 0x16], 1
jmp case.0x324bec9.68
mov byte [esi + 0x16], 2
jmp case.0x324bec9.68
mov byte [esi + 0x16], 9
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0xa
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0x19
jmp case.0x324bec9.68
mov byte [esi + 0x16], 6
jmp case.0x324bec9.68
mov byte [esi + 0x16], 3
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0x14
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0x1a
jmp case.0x324bec9.68
mov byte [esi + 0x16], 7
jmp case.0x324bec9.68
mov byte [esi + 0x16], 0xf
mov ebx, 0x13
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x60]
cmp dword [ebx], 0
je 0x324cdbf
and ecx, 0xfffe4fff
or ecx, 0x4c00
mov dword [esi], ecx
jmp 0x324ba0e
test dl, dl
je case.0x324bec9.69
mov dh, byte [esi + 0x16]
movzx ebx, dh
mov ebp, dword [ebx*4 + 0x3412608]
cmp dl, 0x20
jne 0x324bf80
movzx eax, byte [esi + 3]
and eax, 0x7f
cmp byte [eax + ebp], 0
jne 0x324bf80
mov ebx, 0x14
mov dword [esp + 0x10], ebx
jmp 0x324c103
mov ecx, dword [esi]
mov edi, ecx
shr edi, 0x18
and edi, 0x7f
cmp dl, byte [edi + ebp]
je 0x324c103
mov al, dl
or al, 0x20
sub al, 0x61
cmp al, 0x19
ja 0x324c0e4
shr ecx, 0x10
and ecx, 0x7f00
shl ebx, 0x10
or ecx, ebx
movsx eax, dl
or ecx, eax
cmp ecx, 0xa014f
ja 0x324c064
je 0x324c05b
cmp ecx, 0x50148
ja 0x324c024
je 0x324c01b
cmp ecx, 0x30155
ja 0x324c006
je 0x324bffd
sub ecx, 0x30141
je 0x324bff4
sub ecx, 0x11
jne case.0x324bec9.69
mov byte [esi + 0x16], 0xc
jmp 0x324c103
mov byte [esi + 0x16], 0x1c
jmp 0x324c103
mov byte [esi + 0x16], 4
jmp 0x324c103
cmp ecx, 0x40252
jne case.0x324bec9.69
mov byte [esi + 0x16], 0x1d
jmp 0x324c103
mov byte [esi + 0x16], 0x16
jmp 0x324c103
cmp ecx, 0x50250
je 0x324c052
cmp ecx, 0x90149
je 0x324c049
cmp ecx, 0xa0145
jne case.0x324bec9.69
mov byte [esi + 0x16], 0x17
jmp 0x324c103
mov byte [esi + 0x16], 0x1f
jmp 0x324c103
mov byte [esi + 0x16], 8
jmp 0x324c103
mov byte [esi + 0x16], 0xb
jmp 0x324c103
cmp ecx, 0xf0253
ja 0x324c0b6
je 0x324c0b0
cmp ecx, 0xc0450
ja 0x324c09e
je 0x324c098
cmp ecx, 0xa0241
je 0x324c092
cmp ecx, 0xa0341
jne case.0x324bec9.69
mov byte [esi + 0x16], 0x1e
jmp 0x324c103
mov byte [esi + 0x16], 0x15
jmp 0x324c103
mov byte [esi + 0x16], 0xd
jmp 0x324c103
cmp ecx, 0xf0242
jne case.0x324bec9.69
mov byte [esi + 0x16], 0x12
jmp 0x324c103
mov byte [esi + 0x16], 0x1b
jmp 0x324c103
cmp ecx, 0xf0349
je 0x324c0de
cmp ecx, 0x140242
je 0x324c0d8
cmp ecx, 0x1a0145
jne case.0x324bec9.69
mov byte [esi + 0x16], 0xe
jmp 0x324c103
mov byte [esi + 0x16], 0x11
jmp 0x324c103
mov byte [esi + 0x16], 0x20
jmp 0x324c103
cmp dl, 0x2d
jne case.0x324bec9.69
cmp edi, 1
jne case.0x324bec9.69
cmp dh, 0xa
jne case.0x324bec9.69
mov byte [esi + 0x16], 0x18
mov eax, dword [esi]
lea ecx, [eax + 0x1000000]
xor ecx, eax
and ecx, 0x7f000000
xor ecx, eax
mov dword [esi], ecx
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
inc edi
mov dword [esp + 0x14], edi
cmp edi, edx
je 0x324d065
mov edx, dword [esp + 0x30]
jmp 0x324b032
mov edi, dword [esp + 0x14]
cmp dl, 0x20
je 0x324c123
cmp dword [esp + 0x50], 0
mov eax, edi
push dword [esp + 0x2c]
cmovne eax, dword [esp + 0x58]
cmp byte [esi + 0x16], 5
mov dword [esp + 0x1c], eax
mov eax, 0x18
cmove ecx, eax
push ecx
call fcn.0324d8c0
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
cmp ecx, 1
jne 0x324c123
mov ecx, dword [esi + 0x14]
and ecx, 0x91ffffff
or ecx, 0x11000000
jmp 0x324d02c
cmp dl, 0xa
je 0x324cee8
cmp dl, 0xd
je 0x324cee8
cmp dl, 0x20
je 0x324cee8
push dword [esp + 0x2c]
push ecx
call fcn.0324d8c0
mov edi, dword [esp + 0x1c]
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
cmp ecx, 1
je 0x324c182
jmp 0x324c123
cmp dl, 0xa
je 0x324c286
cmp dl, 0xd
je 0x324c286
cmp dl, 0x20
je 0x324c20e
push dword [esp + 0x2c]
push ecx
call fcn.0324d8c0
mov edi, dword [esp + 0x1c]
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
cmp ecx, 1
je 0x324c182
jmp 0x324c123
mov eax, dword [esp + 0x18]
mov ecx, 0x20
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x324c27d
cmp dword [ebx + 4], 0
je 0x324c277
mov eax, dword [esi]
and eax, 0xfffe83ff
or eax, 0x8000
mov dword [esi], eax
mov edx, dword [esp + 0x18]
mov eax, edi
sub eax, edx
push eax
mov eax, dword [ebx + 4]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324c25e
mov eax, dword [esi + 0x14]
and eax, 0x82ffffff
or eax, 0x2000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
xor eax, eax
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x1c]
jmp 0x324c12b
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov edi, dword [esp + 0x14]
cmp dl, 0xd
mov dword [esi + 0x10], 0x90000
setne cl
add ecx, 0x29
mov dword [esp + 0x10], ecx
test eax, eax
je 0x324c27d
cmp dword [ebx + 4], 0
je 0x324c277
mov eax, dword [esi]
shl ecx, 0xa
and eax, 0xfffe03ff
or ecx, eax
mov dword [esi], ecx
jmp 0x324c237
cmp dl, 0x20
je 0x324b8d0
mov edi, dword [esp + 0x14]
cmp dl, 0x48
jne 0x324cefc
mov ecx, 0x21
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x54
jne 0x324ce98
mov ecx, 0x22
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x54
jne 0x324ce98
mov ecx, 0x23
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x50
jne 0x324ce98
mov ecx, 0x24
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0x2f
jne 0x324ce98
mov ecx, 0x25
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
lea eax, [edx - 0x31]
cmp al, 8
ja 0x324ceac
movsx ax, dl
mov ecx, 0x26
mov dword [esp + 0x10], ecx
sub ax, 0x30
mov word [esi + 0x10], ax
jmp 0x324c123
cmp dl, 0x2e
jne 0x324bbbf
mov edi, dword [esp + 0x14]
mov ecx, 0x27
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
lea eax, [edx - 0x30]
cmp al, 9
ja 0x324ceac
movsx ax, dl
mov ecx, 0x28
mov dword [esp + 0x10], ecx
sub ax, 0x30
mov word [esi + 0x12], ax
jmp 0x324c123
cmp dl, 0xd
jne 0x324c3d5
mov edi, dword [esp + 0x14]
mov ecx, 0x29
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xa
jne 0x324bc4f
mov edi, dword [esp + 0x14]
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0xa
jne 0x324cf10
mov ecx, 0x2a
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
mov ebp, edi
mov dword [esp + 0x54], ebp
cmp edi, dword [esp + 0x1c]
je 0x324c64f
mov ebp, dword [esp + 0x1c]
mov dl, byte [edi]
movzx eax, dl
mov bl, byte [eax + 0x33b5350]
test bl, bl
je 0x324c647
mov edi, dword [esi]
mov eax, edi
shr eax, 0x11
and eax, 0x7f
dec eax
cmp eax, 0xb
ja case.default.0x324c44a
jmp dword [eax*4 + 0x324d468]
lea ecx, [edi + 0x1000000]
xor eax, eax
and ecx, 0x7f000000
cmp bl, 0x6f
mov ebx, 0x40000
cmove eax, ebx
and edi, 0x8001ffff
or ecx, eax
or ecx, edi
mov dword [esi], ecx
jmp case.default.0x324c44a
lea ecx, [edi + 0x1000000]
xor eax, eax
and ecx, 0x7f000000
cmp bl, 0x6e
mov ebx, 0x60000
cmove eax, ebx
and edi, 0x8001ffff
or ecx, eax
or ecx, edi
mov dword [esi], ecx
jmp case.default.0x324c44a
lea eax, [edi + 0x1000000]
mov ecx, esi
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov dword [esi], eax
cmp bl, 0x6e
je 0x324c4df
cmp bl, 0x74
je 0x324c4ce
and eax, 0xff01ffff
mov dword [ecx], eax
jmp case.default.0x324c44a
and eax, 0xff0dffff
or eax, 0xc0000
mov dword [ecx], eax
jmp case.default.0x324c44a
and eax, 0xff09ffff
or eax, 0x80000
mov dword [ecx], eax
jmp case.default.0x324c44a
lea eax, [edi + 0x1000000]
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov ecx, eax
mov dword [esi], eax
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0xa
ja 0x324c530
cmp bl, byte [ecx + str.connection]
jne 0x324c530
cmp ecx, 9
jne case.default.0x324c44a
and eax, 0xff13ffff
or eax, 0x120000
mov dword [esi], eax
jmp case.default.0x324c44a
and eax, 0xff01ffff
mov dword [esi], eax
jmp case.default.0x324c44a
lea eax, [edi + 0x1000000]
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov ecx, eax
mov dword [esi], eax
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0x10
ja 0x324c530
cmp bl, byte [ecx + str.proxy_connection]
jne 0x324c530
cmp ecx, 0xf
jmp 0x324c519
lea eax, [edi + 0x1000000]
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov ecx, eax
mov dword [esi], eax
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0xe
ja 0x324c530
cmp bl, byte [ecx + str.content_length]
jne 0x324c530
cmp ecx, 0xd
jne case.default.0x324c44a
and eax, 0xff15ffff
or eax, 0x140000
mov dword [esi], eax
jmp case.default.0x324c44a
lea eax, [edi + 0x1000000]
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov ecx, eax
mov dword [esi], eax
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 0x11
ja 0x324c530
cmp bl, byte [ecx + str.transfer_encoding]
jne 0x324c530
cmp ecx, 0x10
jne case.default.0x324c44a
and eax, 0xff17ffff
or eax, 0x160000
mov dword [esi], eax
jmp case.default.0x324c44a
lea eax, [edi + 0x1000000]
xor eax, edi
and eax, 0x7f000000
xor eax, edi
mov ecx, eax
mov dword [esi], eax
shr ecx, 0x18
and ecx, 0x7f
cmp ecx, 7
ja 0x324c530
cmp bl, byte [ecx + str.upgrade]
jne 0x324c530
cmp ecx, 6
jne case.default.0x324c44a
and eax, 0xff19ffff
or eax, 0x180000
mov dword [esi], eax
jmp case.default.0x324c44a
cmp dl, 0x20
je case.default.0x324c44a
and edi, 0xff01ffff
mov dword [esi], edi
mov edi, dword [esp + 0x14]
inc edi
mov dword [esp + 0x14], edi
cmp edi, ebp
jne 0x324c423
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov eax, edi
sub eax, ebp
add dword [esi + 4], eax
cmp dword [esi + 4], 0x14000
ja 0x324cde7
cmp edi, dword [esp + 0x1c]
jne 0x324c66f
dec edi
jmp 0x324c11f
cmp dl, 0x3a
jne 0x324cdfb
mov edx, dword [esp + 0x30]
mov ecx, 0x2c
mov dword [esp + 0x10], ecx
test edx, edx
je 0x324c11f
mov ebx, dword [esp + 0x60]
cmp dword [ebx + 0xc], 0
je 0x324c6e1
mov eax, dword [esi]
and eax, 0xfffeb3ff
or eax, 0xb000
mov dword [esi], eax
mov eax, edi
sub eax, edx
push eax
mov eax, dword [ebx + 0xc]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324c6c8
mov eax, dword [esi + 0x14]
and eax, 0x83ffffff
or eax, 0x3000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
xor edx, edx
mov dword [esp + 0x30], edx
jmp 0x324c123
cmp dl, 0x20
je 0x324b8d0
cmp dl, 9
je 0x324b8d0
cmp dl, 0xd
jne 0x324c715
mov edi, dword [esp + 0x14]
mov ecx, 0x2d
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xa
jne case.0x324b09c.47
mov edi, dword [esp + 0x14]
mov ecx, 0x2e
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov ecx, dword [esp + 0x28]
mov eax, ebp
test ecx, ecx
mov bl, dl
mov ebp, 0x30
cmovne eax, ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esi]
or bl, 0x20
mov dword [esp + 0x28], eax
and ecx, 0x80ffffff
mov eax, ecx
mov dword [esi], ecx
shr eax, 0x11
and eax, 0x7f
add eax, 0xfffffff7
cmp eax, 5
ja case.0x324c767.13
jmp dword [eax*4 + 0x324d498]
and ecx, 0xff01ffff
or ecx, 0x80
jmp 0x324c115
mov eax, esi
cmp bl, 0x63
jne 0x324c799
and ecx, 0xff1bffff
or ecx, 0x1a0000
mov dword [eax], ecx
jmp case.0x324c767.14
and ecx, 0xff01ffff
mov dword [eax], ecx
jmp case.0x324c767.14
cmp dl, 0x30
jl 0x324cf3c
cmp dl, 0x39
jg 0x324cf3c
test ecx, 0x200
jne 0x324cf24
movsx eax, dl
or ecx, 0x200
sub eax, 0x30
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x324c115
cmp bl, 0x6b
jne 0x324c7f1
and ecx, 0xff1fffff
or ecx, 0x1e0000
jmp 0x324c115
cmp bl, 0x63
jne 0x324c807
and ecx, 0xff21ffff
or ecx, 0x200000
jmp 0x324c115
cmp bl, 0x75
jne 0x324c81d
and ecx, 0xff23ffff
or ecx, 0x220000
jmp 0x324c115
and ecx, 0xff25ffff
or ecx, 0x240000
jmp 0x324c115
and ecx, 0xff01ffff
jmp 0x324c115
mov edi, dword [esp + 0x14]
cmp dl, 0xa
jne 0x324cf10
mov ecx, 0x31
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov edi, dword [esp + 0x14]
cmp dl, 0xa
jne 0x324ce98
mov ecx, 0x2e
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xa
jne 0x324ce70
mov ebx, dword [esi]
mov ecx, ebx
shr ecx, 2
mov eax, ecx
mov dword [esi + 4], 0
and eax, 1
mov dword [esp + 0x54], eax
jne 0x324c8a9
mov edx, dword [edi + 4]
mov eax, dword [edi]
test edx, edx
jne 0x324c89e
test eax, eax
je 0x324c8a5
and eax, edx
cmp eax, 0xffffffff
jne 0x324c8a9
xor edx, edx
jmp 0x324c8ae
mov edx, 1
mov ebp, dword [esi + 0x14]
test ebp, ebp
jns 0x324c8f3
mov eax, ebp
shr eax, 0x10
cmp al, 5
je 0x324cf54
test ecx, 0x40
jne 0x324cf54
test edx, edx
je 0x324cf54
cmp dword [esp + 0x54], 0
je 0x324c96e
mov edi, dword [esp + 0x14]
mov ecx, 0x33
mov dword [esp + 0x10], ecx
jmp 0x324c11f
test ecx, 0x40
je 0x324c8d6
cmp word [esi + 0x10], 0
jbe 0x324c962
cmp word [esi + 0x12], 0
jbe 0x324c962
test cl, 4
jne 0x324c967
test bl, 3
mov ecx, 4
mov eax, 0x12
cmove ecx, eax
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x10], ecx
cmp dword [ebp + 0x1c], 0
je 0x324cdb4
and ebx, 0xfffe03ff
shl ecx, 0xa
or ebx, ecx
mov dword [esi], ebx
mov ebx, ebp
push esi
mov eax, dword [ebx + 0x1c]
call eax
add esp, 4
test eax, eax
je 0x324ba2a
mov eax, dword [esi + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
jmp 0x324ba27
test cl, 2
jne 0x324c90e
mov ecx, 1
jmp 0x324c91e
mov edx, dword [edi]
mov eax, edx
mov edi, dword [edi + 4]
or eax, edi
je 0x324c8fb
and edx, edi
cmp edx, 0xffffffff
je 0x324c992
mov edi, dword [esp + 0x14]
mov ecx, 0x3c
mov dword [esp + 0x10], ecx
jmp 0x324c11f
mov edi, ebx
movzx edx, bp
and edi, 3
je 0x324c9c6
lea eax, [edx - 0x64]
cmp eax, 0x64
jb 0x324c9c6
cmp edx, 0xcc
je 0x324c9c6
cmp edx, 0x130
je 0x324c9c6
mov edi, dword [esp + 0x14]
mov ecx, 0x3d
mov dword [esp + 0x10], ecx
jmp 0x324c11f
cmp word [esi + 0x10], 0
jbe 0x324c9e3
cmp word [esi + 0x12], 0
jbe 0x324c9e3
test cl, 4
je 0x324c9ec
mov ecx, 1
jmp 0x324c91e
test cl, 2
je 0x324c967
test edi, edi
je 0x324ca0c
lea eax, [edx - 0x64]
cmp eax, 0x64
jb 0x324ca0c
cmp edx, 0xcc
je 0x324ca0c
cmp edx, 0x130
je 0x324ca0c
xor eax, eax
jmp 0x324ca11
mov eax, 1
test eax, eax
je 0x324c967
test edi, edi
jmp 0x324c911
mov eax, dword [esp + 0x24]
test eax, eax
mov edx, dword [esp + 0x1c]
cmove eax, ebp
mov dword [esp + 0x24], eax
lea edi, [edx - 1]
jmp 0x324c127
cmp word [esi + 0x10], 0
jbe 0x324cab9
cmp word [esi + 0x12], 0
jbe 0x324cab9
mov ecx, dword [esi]
test cl, 0x10
je 0x324cac0
mov eax, 1
cmp dword [ebx + 0x1c], 0
mov dword [esp + 0x10], eax
je 0x324caa2
shl eax, 0xa
and ecx, 0xfffe03ff
or ecx, eax
mov dword [esi], ecx
mov eax, dword [ebx + 0x1c]
push esi
call eax
add esp, 4
test eax, eax
je 0x324ca87
mov eax, dword [esi + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
mov eax, ecx
shr eax, 0xa
and eax, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], eax
jne 0x324cda1
cmp dword [esi + 0x14], 0
jl 0x324cfdb
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x324c123
mov ecx, dword [esi]
test cl, 8
je 0x324ca4e
test cl, 3
je 0x324cb01
mov edx, dword [esi + 0x14]
and edx, 0xffff
lea eax, [edx - 0x64]
cmp eax, 0x64
jb 0x324cb01
cmp edx, 0xcc
je 0x324cb01
cmp edx, 0x130
je 0x324cb01
mov eax, ecx
shr eax, 2
test al, 0x40
jne 0x324cb01
test al, 1
jne 0x324cb01
mov eax, dword [edi]
and eax, dword [edi + 4]
cmp eax, 0xffffffff
jne 0x324cb01
xor eax, eax
jmp 0x324cb06
mov eax, 1
test eax, eax
je 0x324ca4e
test cl, 3
mov eax, 4
mov edx, 0x12
cmove eax, edx
jmp 0x324ca53
movzx eax, dl
mov al, byte [eax + 0x33b5450]
cmp al, 0xff
je 0x324cff7
movsx eax, al
mov ecx, 0x34
cdq
mov dword [edi], eax
mov dword [edi + 4], edx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x324c123
cmp dl, 0xd
jne 0x324cb66
mov edi, dword [esp + 0x14]
mov ecx, 0x36
mov dword [esp + 0x10], ecx
jmp 0x324c123
movzx eax, dl
mov al, byte [eax + 0x33b5450]
cmp al, 0xff
jne 0x324cb93
cmp dl, 0x3b
je 0x324cb81
cmp dl, 0x20
jne 0x324cff7
mov edi, dword [esp + 0x14]
mov ecx, 0x35
mov dword [esp + 0x10], ecx
jmp 0x324c123
mov ebx, dword [edi + 4]
mov ecx, dword [edi]
cmp ebx, 0xfffffff
ja 0x324d008
jb 0x324cbaf
cmp ecx, 0xfffffffe
ja 0x324d008
shld ebx, ecx, 4
movsx eax, al
shl ecx, 4
cdq
add ecx, eax
mov dword [edi], ecx
adc ebx, edx
mov dword [edi + 4], ebx
jmp case.0x324c767.14
mov edi, dword [esp + 0x14]
cmp dl, 0xd
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
jne 0x324c12f
mov ecx, 0x36
mov dword [esp + 0x10], ecx
jmp 0x324c12f
cmp dl, 0xa
jne 0x324ce70
mov eax, dword [edi]
or eax, dword [edi + 4]
mov dword [esi + 4], 0
jne 0x324cc0e
or dword [esi], 0x40
lea ecx, [eax + 0x2a]
jmp 0x324cc13
mov ecx, 0x39
cmp dword [ebx + 0x20], 0
mov dword [esp + 0x10], ecx
je 0x324b8d0
mov eax, dword [esi]
and eax, 0xfffe03ff
shl ecx, 0xa
or eax, ecx
mov dword [esi], eax
mov eax, dword [ebx + 0x20]
push esi
call eax
add esp, 4
test eax, eax
je 0x324ba2a
mov eax, dword [esi + 0x14]
and eax, 0x89ffffff
or eax, 0x9000000
jmp 0x324ba27
mov eax, dword [esp + 0x64]
mov ecx, dword [edi + 4]
sub eax, ebp
add eax, dword [esp + 0x68]
cdq
mov ebx, eax
mov eax, dword [edi]
cmp ecx, edx
ja 0x324cc72
jb 0x324cc6e
cmp eax, ebx
jae 0x324cc72
mov ebx, eax
mov edx, ecx
mov esi, dword [esp + 0x24]
test esi, esi
cmove esi, ebp
sub eax, ebx
mov dword [edi], eax
mov ebp, esi
sbb ecx, edx
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x1c]
mov dword [edi + 4], ecx
mov edi, dword [esp + 0x14]
dec edi
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x20]
add edi, ebx
mov ebx, dword [esp + 0x60]
or eax, ecx
mov eax, dword [esp + 0x18]
jne 0x324cdde
mov ecx, 0x3a
mov dword [esp + 0x10], ecx
jmp 0x324c12f
cmp dl, 0xd
jne 0x324ce70
mov ebp, dword [esp + 0x24]
mov ecx, 0x3b
mov dword [esp + 0x10], ecx
test ebp, ebp
je 0x324b8d0
cmp dword [ebx + 0x18], 0
mov edi, dword [esp + 0x14]
je 0x324cd2d
mov eax, dword [esi]
and eax, 0xfffeefff
or eax, 0xec00
mov dword [esi], eax
mov eax, edi
sub eax, ebp
push eax
mov eax, dword [ebx + 0x18]
push ebp
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324cd18
mov eax, dword [esi + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
jne 0x324cda5
mov dword [esp + 0x24], 0
jmp 0x324c123
cmp dl, 0xa
jne 0x324ce70
mov dword [esi + 4], 0
mov ecx, 0x33
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x10], ecx
je 0x324b8d0
mov eax, dword [esi]
and eax, 0xfffecfff
or eax, 0xcc00
mov dword [esi], eax
mov eax, dword [ebx + 0x24]
push esi
call eax
add esp, 4
test eax, eax
je 0x324cd88
mov eax, dword [esi + 0x14]
and eax, 0x8affffff
or eax, 0xa000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
mov dword [esp + 0x10], ecx
je 0x324b8d0
mov edi, dword [esp + 0x14]
sub edi, dword [esp + 0x64]
lea eax, [edi + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov edi, dword [esp + 0x14]
mov ebx, ebp
jmp 0x324c123
mov edi, dword [esp + 0x14]
mov ecx, 0x13
jmp 0x324c123
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
jmp 0x324c12f
mov ecx, dword [esp + 0x10]
jmp 0x324c12f
mov ecx, dword [esi + 0x14]
and ecx, 0x8cffffff
or ecx, 0xc000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
and ecx, 0x98ffffff
or ecx, 0x18000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
shl ebx, 0x11
and ecx, 0x99ffffff
xor ebx, dword [esi]
and ebx, 0xfe0000
xor dword [esi], ebx
or ecx, 0x19000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
and ecx, 0x9affffff
or ecx, 0x1a000000
jmp 0x324d028
mov eax, dword [esi + 0x14]
and eax, 0x85ffffff
or eax, 0x5000000
mov dword [esi + 0x14], eax
mov eax, dword [esi]
and eax, 0xfffee3ff
or eax, 0xe000
mov dword [esi], eax
sub ebp, dword [esp + 0x64]
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x48
ret
mov ecx, dword [esi + 0x14]
and ecx, 0x9effffff
or ecx, 0x1e000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x9cffffff
or ecx, 0x1c000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x9effffff
or ecx, 0x1e000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
and ecx, 0x8effffff
or ecx, 0xe000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
and ecx, 0x8effffff
or ecx, 0xe000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x90ffffff
or ecx, 0x10000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x91ffffff
or ecx, 0x11000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x9cffffff
or ecx, 0x1c000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
and ecx, 0x97ffffff
or ecx, 0x17000000
jmp 0x324d02c
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x14]
and ecx, 0x9affffff
or ecx, 0x1a000000
jmp 0x324d030
mov ecx, dword [esi + 0x14]
mov edi, dword [esp + 0x14]
and ecx, 0x99ffffff
or ecx, 0x19000000
jmp 0x324d030
push esi
call fcn.0324d4b0
add esp, 4
test eax, eax
je 0x324cf73
test bl, 3
mov eax, 4
mov ecx, 0x12
cmove eax, ecx
jmp 0x324cf78
mov eax, 1
mov ebp, dword [esp + 0x60]
cmp dword [ebp + 0x1c], 0
je 0x324cfbe
shl eax, 0xa
and ebx, 0xfffe03ff
or ebx, eax
mov dword [esi], ebx
mov eax, dword [ebp + 0x1c]
push esi
call eax
add esp, 4
test eax, eax
je 0x324cfac
mov eax, dword [esi + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [esi + 0x14], eax
mov eax, dword [esi]
shr eax, 0xa
test dword [esi + 0x14], 0x7f000000
jne 0x324cda1
shl eax, 0xa
xor eax, dword [esi]
and eax, 0x1fc00
xor dword [esi], eax
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x64]
pop edi
pop esi
pop ebp
inc eax
pop ebx
add esp, 0x48
ret
shl eax, 0xa
and ecx, 0xfffe03ff
or ecx, eax
sub ebp, dword [esp + 0x64]
pop edi
mov dword [esi], ecx
pop esi
lea eax, [ebp + 1]
pop ebp
pop ebx
add esp, 0x48
ret
mov ecx, dword [esi + 0x14]
and ecx, 0x9bffffff
or ecx, 0x1b000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x99ffffff
or ecx, 0x19000000
jmp 0x324d028
mov ecx, dword [esi + 0x14]
and ecx, 0x9dffffff
or ecx, 0x1d000000
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov dword [esi + 0x14], ecx
test ecx, 0x7f000000
jne 0x324d04a
and ecx, 0xa0ffffff
or ecx, 0x20000000
mov dword [esi + 0x14], ecx
shl ebp, 0xa
xor ebp, dword [esi]
and ebp, 0x1fc00
xor dword [esi], ebp
sub edi, dword [esp + 0x64]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
test edx, edx
je 0x324d0bc
cmp dword [ebx + 0xc], 0
je 0x324d0bc
shl ecx, 0xa
mov eax, edi
xor ecx, dword [esi]
sub eax, edx
push eax
and ecx, 0x1fc00
xor dword [esi], ecx
mov eax, dword [ebx + 0xc]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324d0a7
mov eax, dword [esi + 0x14]
and eax, 0x83ffffff
or eax, 0x3000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d1fd
mov edx, dword [esp + 0x28]
test edx, edx
je 0x324d10f
cmp dword [ebx + 0x10], 0
je 0x324d10f
shl ecx, 0xa
mov eax, edi
xor ecx, dword [esi]
sub eax, edx
push eax
and ecx, 0x1fc00
xor dword [esi], ecx
mov eax, dword [ebx + 0x10]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324d0fa
mov eax, dword [esi + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d1fd
mov edx, dword [esp + 0x18]
test edx, edx
je 0x324d162
cmp dword [ebx + 4], 0
je 0x324d162
shl ecx, 0xa
mov eax, edi
xor ecx, dword [esi]
sub eax, edx
push eax
and ecx, 0x1fc00
xor dword [esi], ecx
mov eax, dword [ebx + 4]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324d14d
mov eax, dword [esi + 0x14]
and eax, 0x82ffffff
or eax, 0x2000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d1fd
mov edx, dword [esp + 0x24]
test edx, edx
je 0x324d1b1
cmp dword [ebx + 0x18], 0
je 0x324d1b1
shl ecx, 0xa
mov eax, edi
xor ecx, dword [esi]
sub eax, edx
push eax
and ecx, 0x1fc00
xor dword [esi], ecx
mov eax, dword [ebx + 0x18]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324d1a0
mov eax, dword [esi + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
and ecx, 0x7f
test dword [esi + 0x14], 0x7f000000
jne 0x324d1fd
mov edx, dword [esp + 0x20]
test edx, edx
je 0x324d209
cmp dword [ebx + 8], 0
je 0x324d209
shl ecx, 0xa
mov eax, edi
xor ecx, dword [esi]
sub eax, edx
push eax
and ecx, 0x1fc00
xor dword [esi], ecx
mov eax, dword [ebx + 8]
push edx
push esi
call eax
add esp, 0xc
test eax, eax
je 0x324d1ef
mov eax, dword [esi + 0x14]
and eax, 0x88ffffff
or eax, 0x8000000
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
shr ecx, 0xa
test dword [esi + 0x14], 0x7f000000
je 0x324d209
sub edi, ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov eax, dword [esp + 0x68]
shl ecx, 0xa
xor ecx, dword [esi]
pop edi
and ecx, 0x1fc00
xor dword [esi], ecx
pop esi
pop ebp
pop ebx
add esp, 0x48
ret