Function at 0x44fc1f
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
mov ebx, ecx
xor eax, eax
push esi
mov esi, edx
mov dword [ebp - 0x24], eax
push edi
mov ecx, dword [ebx]
mov edi, 0x7f000000
mov edx, ecx
mov dword [ebp - 0x18], eax
shr edx, 0xa
mov dword [ebp - 0x28], eax
and edx, 0x7f
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0xc], edx
test edi, eax
je 0x44fc60
xor eax, eax
jmp 0x4518e0
cmp dword [ebp + 0xc], 0
jne 0x44fcc3
test edx, edx
je 0x44fcae
cmp edx, 2
jbe 0x44fc59
cmp edx, 4
je 0x44fc59
cmp edx, 0x12
je 0x44fc59
cmp edx, 0x3d
jne 0x44fcae
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x44fc59
shl edx, 0xa
xor edx, ecx
and edx, 0x1fc00
xor edx, ecx
push ebx
mov dword [ebx], edx
call eax
pop ecx
test eax, eax
je 0x44fc59
mov eax, dword [ebx + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [ebx + 0x14], eax
jmp 0x44fc59
and eax, 0x8bffffff
or eax, 0xb000000
mov dword [ebx + 0x14], eax
xor eax, eax
inc eax
jmp 0x4518e0
mov esi, dword [ebp + 8]
xor eax, eax
cmp edx, 0x2b
mov dword [ebp - 0x20], 0x30
mov ecx, esi
cmovne ecx, eax
xor edi, edi
cmp edx, 0x30
mov dword [ebp - 8], ecx
mov eax, esi
cmovne eax, edi
mov dword [ebp - 0x1c], eax
cmp edx, 0x10
je 0x44fcfb
cmp edx, 0x14
jbe 0x44fcfe
cmp edx, 0x1f
ja 0x44fcfe
mov dword [ebp - 0x24], esi
jmp 0x44fcfe
mov dword [ebp - 0x28], esi
mov eax, dword [ebp + 0xc]
mov edi, esi
add eax, esi
mov dword [ebp - 0x2c], eax
cmp esi, eax
mov dword [ebp - 0x34], edi
je 0x451729
mov cl, byte [edi]
mov byte [ebp - 1], cl
cmp edx, 0x38
jg 0x44fd3e
inc dword [ebx + 4]
cmp dword [ebx + 4], 0x14000
jbe 0x44fd3e
mov eax, dword [ebx + 0x14]
and eax, 0x8cffffff
or eax, 0xc000000
jmp 0x4516fd
mov esi, dword [ebp + 8]
lea eax, [edx - 1]
cmp eax, 0x3d
ja case.default.0x44fd4a
jmp dword [eax*4 + 0x4518e7]
cmp cl, 0xd
je 0x451198
cmp cl, 0xa
je 0x451198
and dword [ebx], 0xfffffc03
or dword [ebx + 8], 0xffffffff
or dword [ebx + 0xc], 0xffffffff
mov eax, dword [ebx]
cmp cl, 0x48
je 0x45049f
and eax, 0xfffffffc
push 0x12
mov dword [ebx], eax
pop eax
mov edx, eax
mov dword [ebp - 0xc], edx
jmp 0x44fd3e
cmp cl, byte [ebp - 0x20]
jl 0x44fd99
cmp cl, 0x39
jle 0x4504fa
cmp cl, 0xa
je 0x44fda7
cmp cl, 0xd
jne 0x45052d
push 0xf
jmp 0x450219
mov eax, dword [ebp - 0x28]
test eax, eax
push 0x10
cmove eax, edi
and dword [ebx], 0x80ffffff
mov dword [ebp - 0x28], eax
pop edx
mov dword [ebp - 0xc], edx
cmp cl, 0xd
je 0x44fd3e
cmp cl, 0xa
je 0x44fd3e
jmp 0x451198
cmp cl, 0xd
je 0x4505c2
cmp cl, 0xa
jne 0x45053d
push 0x37
jmp 0x450219
mov esi, dword [ebx]
shr esi, 0x11
and esi, 0x7f
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x14], esi
mov ecx, dword [ebp - 0x2c]
cmp edi, ecx
je 0x45063d
mov cl, byte [edi]
mov byte [ebp - 1], cl
cmp cl, 0xd
je 0x4505c9
cmp cl, 0xa
je 0x45013f
cmp dword [ebp - 0x3c], 0x80000000
jae 0x44fe47
push 9
pop eax
cmp cl, al
je 0x44fe47
cmp cl, 0x1f
jbe 0x4515c1
cmp cl, 0x7f
je 0x4515c1
mov ch, cl
or ch, 0x20
mov byte [ebp - 2], ch
cmp esi, 0xf
jg 0x45001f
je 0x44ffd5
mov eax, esi
sub eax, 0
je 0x44ff80
sub eax, 9
je 0x45007a
sub eax, 1
je 0x44ff20
sub eax, 1
je 0x45007a
dec eax
sub eax, 1
je 0x44fed2
sub eax, 1
jne 0x450083
cmp ch, 0x6b
jne 0x44fea0
push 0xf
pop esi
jmp 0x450077
cmp ch, 0x63
jne 0x44fea9
push 0x10
jmp 0x44fe9a
cmp ch, 0x75
jne 0x44feb2
push 0x11
jmp 0x44fe9a
movzx eax, ch
cmp byte [eax + 0x7655b0], 0
jne 0x450072
cmp ch, 0x20
je 0x45007a
xor esi, esi
jmp 0x450077
mov eax, dword [ebx]
and eax, 0xff000000
add eax, 0x1000000
xor eax, dword [ebx]
and eax, 0x7f000000
xor dword [ebx], eax
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x7f000000
cmp ecx, 0x7000000
ja 0x44fecb
mov bl, byte [ebp - 2]
shr eax, 0x18
and eax, 0x7f
cmp bl, byte [eax + str.chunked]
mov ebx, dword [ebp - 0x30]
jne 0x44fecb
cmp ecx, 0x6000000
jne 0x45007a
push 0x13
jmp 0x44fe9a
cmp cl, 0x20
je 0x45007a
cmp cl, byte [ebp - 0x20]
jl 0x4515d3
cmp cl, 0x39
jg 0x4515d3
cmp dword [ebx + 0xc], 0x19999999
ja 0x4515d3
jb 0x44ff57
cmp dword [ebx + 8], 0x99999998
ja 0x4515d3
push 0
push 0xa
push dword [ebx + 0xc]
movsx eax, cl
sub eax, dword [ebp - 0x20]
push dword [ebx + 8]
cdq
mov esi, eax
mov edi, edx
call fcn.00683710
add esi, eax
mov dword [ebx + 8], esi
adc edi, edx
mov dword [ebx + 0xc], edi
mov edi, dword [ebp - 0x34]
jmp 0x44ffca
mov eax, dword [ebp + 8]
mov ecx, 0x14000
sub eax, edi
mov esi, ecx
add eax, dword [ebp + 0xc]
cmp eax, ecx
cmovb esi, eax
push esi
push 0xd
push edi
call fcn.0068a7f0
push esi
push 0xa
push edi
mov dword [ebp - 0x34], eax
call fcn.0068a7f0
mov edi, eax
add esp, 0x18
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x44ffbf
test edi, edi
je 0x44ffc7
cmp eax, edi
jae 0x44ffc9
jmp 0x44ffc7
mov eax, dword [ebp - 0x2c]
test edi, edi
cmovne eax, edi
mov edi, eax
dec edi
mov edx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x14]
jmp 0x45007a
mov eax, dword [ebx]
and eax, 0xff000000
add eax, 0x1000000
xor eax, dword [ebx]
and eax, 0x7f000000
xor dword [ebx], eax
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x7f000000
cmp ecx, 0xa000000
ja 0x450072
mov bl, byte [ebp - 2]
shr eax, 0x18
and eax, 0x7f
cmp bl, byte [eax + str.keep_alive]
mov ebx, dword [ebp - 0x30]
jne 0x450072
cmp ecx, 0x9000000
jne 0x45007a
push 0x14
jmp 0x44fe9a
cmp esi, 0x10
je 0x4500e9
cmp esi, 0x11
je 0x45009f
push 0x12
pop eax
cmp esi, eax
je 0x450098
cmp esi, 0x13
je 0x45008e
lea eax, [esi - 0x14]
cmp eax, 2
ja 0x450083
cmp cl, 0x2c
jne 0x45006d
cmp esi, 0x14
jne 0x450050
or dword [ebx], 8
jmp 0x450062
cmp esi, 0x15
jne 0x45005a
or dword [ebx], 0x10
jmp 0x450062
cmp esi, 0x16
jne 0x450062
or dword [ebx], 0x20
and dword [ebx], 0x80ffffff
push 0xe
pop esi
jmp 0x450077
cmp cl, 0x20
je 0x45007a
push 0x12
pop eax
mov esi, eax
mov dword [ebp - 0x14], esi
inc edi
mov dword [ebp - 0x34], edi
jmp 0x44fe03
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], edx
jmp 0x44fecb
xor eax, eax
cmp cl, 0x20
cmove eax, esi
jmp 0x450075
cmp cl, 0x2c
jne 0x45007a
jmp 0x450062
mov eax, dword [ebx]
and eax, 0xff000000
add eax, 0x1000000
xor eax, dword [ebx]
and eax, 0x7f000000
xor dword [ebx], eax
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x7f000000
cmp ecx, 0x7000000
ja 0x450072
mov bl, byte [ebp - 2]
shr eax, 0x18
and eax, 0x7f
cmp bl, byte [eax + str.upgrade]
mov ebx, dword [ebp - 0x30]
jne 0x450072
cmp ecx, 0x6000000
jne 0x45007a
push 0x16
jmp 0x44fe9a
mov eax, dword [ebx]
and eax, 0xff000000
add eax, 0x1000000
xor eax, dword [ebx]
and eax, 0x7f000000
xor dword [ebx], eax
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x7f000000
cmp ecx, 0x5000000
ja 0x450072
mov bl, byte [ebp - 2]
shr eax, 0x18
and eax, 0x7f
cmp bl, byte [eax + str.close]
mov ebx, dword [ebp - 0x30]
jne 0x450072
cmp ecx, 0x4000000
jne 0x45007a
push 0x15
jmp 0x44fe9a
mov eax, edi
sub eax, dword [ebp - 0x38]
add dword [ebx + 4], eax
cmp dword [ebx + 4], 0x14000
push 0x32
pop edx
mov dword [ebp - 0xc], edx
ja 0x44fd29
shl esi, 0x11
xor esi, dword [ebx]
and esi, 0xfe0000
xor dword [ebx], esi
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebx]
test esi, esi
je 0x44fd3b
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x4501c2
and eax, 0xfffecbff
or eax, 0xc800
mov dword [ebx], eax
mov eax, edi
sub eax, esi
push eax
push esi
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x4501aa
mov eax, dword [ebx + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4515f6
and dword [ebp - 0x1c], 0
mov cl, byte [ebp - 1]
jmp 0x44fd3b
cmp cl, 0x20
je 0x450217
push 9
pop eax
cmp cl, al
je 0x450217
mov ecx, dword [ebx]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
sub eax, 0x13
je 0x450207
sub eax, 1
je 0x450202
sub eax, 1
je 0x4501fd
sub eax, 1
jne 0x45020c
or ecx, 0x20
jmp 0x45020a
or ecx, 0x10
jmp 0x45020a
or ecx, 8
jmp 0x45020a
or ecx, 4
mov dword [ebx], ecx
push 0x2a
pop edx
mov dword [ebp - 0xc], edx
jmp 0x450497
push 0x2f
pop edx
jmp 0x44fd86
cmp cl, 0x20
je 0x45066e
push 9
pop eax
cmp cl, al
je 0x45066e
mov ecx, dword [ebx]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
sub eax, 0x13
je 0x450260
sub eax, 1
je 0x45025b
sub eax, 1
je 0x450256
sub eax, 1
jne 0x450265
or ecx, 0x20
jmp 0x450263
or ecx, 0x10
jmp 0x450263
or ecx, 8
jmp 0x450263
or ecx, 4
mov dword [ebx], ecx
mov eax, dword [ebp - 0x1c]
test eax, eax
mov cl, byte [ebp - 1]
cmove eax, edi
mov dword [ebp - 0x1c], eax
push 0x2a
pop edx
mov dword [ebp - 0xc], edx
test eax, eax
je 0x44fd3e
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4502d0
mov eax, dword [ebx]
mov edx, dword [ebp - 0x1c]
and eax, 0xfffeabff
or eax, 0xa800
mov dword [ebx], eax
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x4502bc
mov eax, dword [ebx + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x45033b
and dword [ebp - 0x1c], 0
jmp 0x450497
cmp cl, 0xa
jne 0x450721
mov ecx, dword [ebx]
test cl, 0x40
je 0x450342
mov eax, dword [ebp - 0x10]
push 0x3e
pop edx
mov dword [ebp - 0xc], edx
mov eax, dword [eax + 0x24]
test eax, eax
je 0x450497
and ecx, 0xfffefbff
or ecx, 0xf800
push ebx
mov dword [ebx], ecx
call eax
pop ecx
test eax, eax
je 0x450323
mov eax, dword [ebx + 0x14]
and eax, 0x8affffff
or eax, 0xa000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
je 0x450497
sub edi, esi
jmp 0x4515f9
test cl, 4
je 0x450353
test ecx, 0x200
jne 0x451600
mov eax, ecx
push 0x38
and eax, 0xa0
pop edx
mov dword [ebp - 0xc], edx
cmp al, 0xa0
jne 0x45038a
push 3
pop eax
test al, cl
je 0x450376
cmp word [ebx + 0x14], 0x65
je 0x450376
xor ecx, ecx
jmp 0x45037b
mov ecx, bind
mov eax, dword [ebx + 0x14]
and eax, 0x7fffffff
or eax, ecx
mov dword [ebx + 0x14], eax
jmp 0x4503a3
mov eax, dword [ebx + 0x14]
xor ecx, ecx
cmp byte [ebx + 0x16], 5
sete cl
and eax, 0x7fffffff
shl ecx, 0x1f
or ecx, eax
mov dword [ebx + 0x14], ecx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x4503d4
push ebx
call eax
pop ecx
sub eax, 0
je 0x4503d1
sub eax, 1
je 0x4503cb
sub eax, 1
jne 0x451612
or dword [ebx + 0x14], 0x80000000
or dword [ebx], 0x100
mov edx, dword [ebp - 0xc]
test dword [ebx + 0x14], 0x7f000000
jne 0x451622
jmp 0x450497
mov ecx, dword [ebx + 8]
mov eax, esi
mov esi, dword [ebx + 0xc]
sub eax, edi
add eax, dword [ebp + 0xc]
cdq
cmp esi, edx
ja 0x450402
jb 0x4503fe
cmp ecx, eax
jae 0x450402
mov eax, ecx
mov edx, esi
mov ebx, dword [ebp - 0x18]
test ebx, ebx
cmove ebx, edi
sub ecx, eax
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x30]
sbb esi, edx
dec eax
add edi, eax
mov eax, ecx
or eax, esi
mov dword [ebp - 0x34], edi
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], esi
jne 0x451195
mov cl, byte [ebp - 1]
mov esi, dword [ebp + 8]
push 0x3e
pop edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x18], eax
je 0x44fd3e
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x450493
mov eax, dword [ebx]
mov edx, dword [ebp - 0x18]
and eax, 0xfffefbff
or eax, 0xf800
mov dword [ebx], eax
mov eax, edi
sub eax, edx
inc eax
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x45047b
mov eax, dword [ebx + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x45033b
and dword [ebp - 0x18], 0
mov cl, byte [ebp - 1]
jmp 0x44fd3e
push 3
pop ecx
mov edx, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov ecx, dword [ecx]
test ecx, ecx
je 0x451198
and eax, 0xfffe0fff
or eax, 0xc00
push ebx
mov dword [ebx], eax
call ecx
pop ecx
test eax, eax
je 0x4504d8
mov eax, dword [ebx + 0x14]
and eax, 0x81ffffff
or eax, 0x1000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
je 0x451198
sub edi, esi
lea eax, [edi + 1]
jmp 0x4518e0
movzx eax, word [ebx + 0x14]
imul ecx, eax, 0xa
movsx eax, byte [ebp - 1]
add cx, ax
sub cx, word [ebp - 0x20]
mov word [ebx + 0x14], cx
cmp cx, 0x3e7
jbe 0x451198
mov eax, dword [ebx + 0x14]
and eax, 0x8fffffff
or eax, 0xf000000
jmp 0x4516fd
cmp cl, 0x20
jne 0x45051b
push 0xf
pop edx
mov dword [ebp - 0xc], edx
jmp 0x451198
movzx eax, cl
mov cl, byte [eax + 0x7655b0]
test cl, cl
je 0x4515c1
mov esi, dword [ebp - 8]
test esi, esi
push 0x2b
cmove esi, edi
movsx ecx, cl
and dword [ebx], 0x80ffffff
mov eax, dword [ebx]
mov dword [ebp - 8], esi
pop edx
mov dword [ebp - 0xc], edx
sub ecx, 0x63
je 0x4505b6
sub ecx, 0xd
je 0x4505aa
sub ecx, 4
je 0x450599
sub ecx, 1
mov ecx, esi
je 0x45058a
and eax, 0xff01ffff
jmp 0x4511f0
and eax, 0xff11ffff
or eax, 0x100000
jmp 0x4511f0
and eax, 0xff0fffff
or eax, 0xe0000
mov dword [ebx], eax
jmp 0x451198
and eax, 0xff0bffff
or eax, 0xa0000
jmp 0x4505a3
and eax, 0xff03ffff
or eax, 0x20000
jmp 0x4505a3
push 0x37
jmp 0x450534
mov eax, esi
shl eax, 0x11
xor eax, dword [ebx]
and eax, 0xfe0000
xor dword [ebx], eax
cmp dword [ebp - 0x1c], 0
mov eax, dword [ebx]
push 0x32
pop edx
mov dword [ebp - 0xc], edx
je 0x45063a
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x10]
test ecx, ecx
je 0x450636
mov edx, dword [ebp - 0x1c]
and eax, 0xfffecbff
or eax, 0xc800
mov dword [ebx], eax
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x45061e
mov eax, dword [ebx + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4509d9
and dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x2c]
shl esi, 0x11
mov eax, edi
xor esi, dword [ebx]
sub eax, dword [ebp - 0x38]
and esi, 0xfe0000
xor dword [ebx], esi
add dword [ebx + 4], eax
cmp dword [ebx + 4], 0x14000
ja 0x44fd29
cmp edi, ecx
lea eax, [edi - 1]
cmovne eax, edi
mov edi, eax
jmp 0x451198
push 0x2c
jmp 0x450534
cmp cl, 0xd
je 0x451198
cmp cl, 0xa
je 0x451198
mov eax, dword [ebx + 0x14]
and eax, 0x8dffffff
or eax, 0xd000000
jmp 0x4516fd
cmp cl, 0x54
jne 0x4506af
mov eax, dword [ebx]
and eax, 0xfffffffd
or eax, 1
mov dword [ebx], eax
push 6
jmp 0x450534
cmp cl, 0x45
jne 0x451635
push 2
pop eax
mov byte [ebx + 0x16], al
mov eax, dword [ebx]
and eax, 0x82fffffc
or eax, 0x2000000
mov dword [ebx], eax
push 0x13
jmp 0x450534
and dword [ebx], 0xfffffc03
or dword [ebx + 8], 0xffffffff
or dword [ebx + 0xc], 0xffffffff
cmp cl, 0xa
je 0x4506fa
cmp cl, 0xd
je 0x4506fa
cmp cl, 0x48
jne 0x451635
push 5
pop edx
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
test eax, eax
je 0x451198
shl edx, 0xa
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
push ebx
call eax
jmp 0x4504c3
cmp cl, 0x54
je 0x4506a8
mov eax, dword [ebx + 0x14]
and eax, 0x9effffff
or eax, 0x1e000000
jmp 0x4516fd
cmp cl, 0x54
jne 0x450721
push 7
jmp 0x450534
cmp cl, 0x50
jne 0x450721
push 8
jmp 0x450534
cmp cl, 0x2f
jne 0x450721
push 9
pop eax
mov edx, eax
jmp 0x450535
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x450d63
movsx ax, cl
push 0xa
sub ax, word [ebp - 0x20]
mov word [ebx + 0x10], ax
jmp 0x450534
cmp cl, 0x2e
jne 0x450d63
push 0xb
jmp 0x450534
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x450d63
movsx ax, cl
push 0xc
sub ax, word [ebp - 0x20]
mov word [ebx + 0x12], ax
jmp 0x450534
cmp cl, 0x20
jne 0x450d63
push 0xd
jmp 0x450534
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x4507ce
movsx eax, cl
sub eax, dword [ebp - 0x20]
mov word [ebx + 0x14], ax
push 0xe
jmp 0x450534
cmp cl, 0x20
jne 0x45051b
jmp 0x451198
cmp cl, 0xd
jne 0x45084d
cmp dword [ebp - 0x28], 0
push 0x11
pop edx
mov dword [ebp - 0xc], edx
je 0x451198
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x450844
mov eax, dword [ebx]
and eax, 0xfffe47ff
or eax, 0x4400
mov edx, dword [ebp - 0x28]
mov dword [ebx], eax
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x45082c
mov eax, dword [ebx + 0x14]
and eax, 0x88ffffff
or eax, 0x8000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4504f0
and dword [ebp - 0x28], 0
jmp 0x451198
cmp cl, 0xa
jne 0x451198
cmp dword [ebp - 0x28], 0
push 0x2a
pop edx
mov dword [ebp - 0xc], edx
je 0x451198
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x450844
mov eax, dword [ebx]
and eax, 0xfffeabff
or eax, 0xa800
jmp 0x450807
cmp cl, 0xa
jne 0x450721
push 0x2a
jmp 0x450534
cmp cl, 0xd
je 0x451198
cmp cl, 0xa
je 0x451198
and dword [ebx], 0xfffffc03
mov al, cl
or dword [ebx + 8], 0xffffffff
or al, 0x20
or dword [ebx + 0xc], 0xffffffff
mov esi, dword [ebx]
cmp al, 0x61
jb 0x451647
cmp al, 0x7a
ja 0x451647
and esi, 0x81ffffff
movsx eax, cl
or esi, 0x1000000
mov byte [ebx + 0x16], 0
mov dword [ebx], esi
cmp eax, 0x4d
jg 0x450939
je 0x450933
sub eax, 0x41
je 0x45092d
sub eax, 1
je 0x450927
sub eax, 1
je 0x450921
sub eax, 1
je 0x45091b
push 3
pop ecx
sub eax, ecx
je 0x450915
sub eax, 1
je 0x45090d
sub eax, 4
jne 0x451647
push 9
jmp 0x45090f
push 2
pop eax
mov byte [ebx + 0x16], al
jmp 0x450988
mov byte [ebx + 0x16], 1
jmp 0x450988
mov byte [ebx + 0x16], 0
jmp 0x450988
mov byte [ebx + 0x16], 5
jmp 0x450988
mov byte [ebx + 0x16], 0x10
jmp 0x450988
mov byte [ebx + 0x16], 0x13
jmp 0x450988
mov byte [ebx + 0x16], 0xa
jmp 0x450988
sub eax, 0x4e
je 0x450984
sub eax, 1
je 0x45097e
sub eax, 1
je 0x45097a
push 2
pop ecx
sub eax, ecx
je 0x450974
sub eax, 1
je 0x45096e
sub eax, 1
je 0x450968
sub eax, 1
jne 0x451647
mov byte [ebx + 0x16], 0xf
jmp 0x450988
mov byte [ebx + 0x16], 7
jmp 0x450988
mov byte [ebx + 0x16], 0x1a
jmp 0x450988
mov byte [ebx + 0x16], 0x14
jmp 0x450988
push 3
jmp 0x45090f
mov byte [ebx + 0x16], 6
jmp 0x450988
mov byte [ebx + 0x16], 0x19
mov eax, dword [ebp - 0x10]
push 0x13
pop edx
mov dword [ebp - 0xc], edx
mov eax, dword [eax]
test eax, eax
je 0x451198
and esi, 0xfffe4fff
or esi, 0x4c00
push ebx
mov dword [ebx], esi
call eax
pop ecx
test eax, eax
je 0x4509c1
mov eax, dword [ebx + 0x14]
and eax, 0x81ffffff
or eax, 0x1000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
je 0x451198
sub edi, dword [ebp + 8]
jmp 0x4504f2
test cl, cl
je 0x451647
cmp byte [ebp - 1], 0x20
movzx esi, byte [ebx + 0x16]
mov ecx, dword [esi*4 + 0x765520]
jne 0x450a16
mov eax, dword [ebx]
mov dword [ebp - 0x38], eax
shr eax, 0x18
and eax, 0x7f
cmp byte [eax + ecx], 0
jne 0x450a16
push 0x14
pop edx
mov dword [ebp - 0xc], edx
jmp 0x450b81
mov eax, dword [ebx]
mov bl, byte [ebp - 1]
mov dword [ebp - 0x38], eax
shr eax, 0x18
and eax, 0x7f
cmp bl, byte [eax + ecx]
mov ebx, dword [ebp - 0x30]
je 0x450b81
mov al, byte [ebp - 1]
cmp al, 0x41
jl 0x450a3b
cmp al, 0x5a
jle 0x450a43
cmp al, 0x2d
jne 0x451647
movzx ecx, word [ebx + 2]
and ecx, 0x7f00
shl esi, 0x10
or ecx, esi
movsx eax, al
or ecx, eax
mov eax, 0xa014f
cmp ecx, eax
ja 0x450b06
je 0x450b00
mov eax, 0x50148
cmp ecx, eax
ja 0x450ac2
je 0x450ab9
sub ecx, 0x30141
je 0x450ab0
sub ecx, 0x11
je 0x450aa7
push 3
pop eax
sub ecx, eax
je 0x450a9e
sub ecx, 0x100fd
jne 0x451647
mov byte [ebx + 0x16], 0x1d
jmp 0x450b81
mov byte [ebx + 0x16], 4
jmp 0x450b81
mov byte [ebx + 0x16], 0xc
jmp 0x450b81
mov byte [ebx + 0x16], 0x1c
jmp 0x450b81
mov byte [ebx + 0x16], 0x16
jmp 0x450b81
sub ecx, 0x50250
je 0x450af7
sub ecx, 0x3fef9
je 0x450aee
push 0x18
pop eax
sub ecx, 0xffe4
je 0x450b38
sub ecx, eax
jne 0x451647
mov byte [ebx + 0x16], 0x17
jmp 0x450b81
mov byte [ebx + 0x16], 0x1f
jmp 0x450b81
mov byte [ebx + 0x16], 8
jmp 0x450b81
mov byte [ebx + 0x16], 0xb
jmp 0x450b81
mov eax, 0xf0253
cmp ecx, eax
ja 0x450b55
je 0x450b4f
cmp ecx, 0xa0241
je 0x450b49
cmp ecx, 0xa0341
je 0x450b43
cmp ecx, 0xc0450
je 0x450b3d
cmp ecx, 0xf0242
jne 0x451647
push 0x12
pop eax
mov byte [ebx + 0x16], al
jmp 0x450b81
mov byte [ebx + 0x16], 0xd
jmp 0x450b81
mov byte [ebx + 0x16], 0x1e
jmp 0x450b81
mov byte [ebx + 0x16], 0x15
jmp 0x450b81
mov byte [ebx + 0x16], 0x1b
jmp 0x450b81
cmp ecx, 0xf0349
je 0x450b7d
cmp ecx, 0x140242
je 0x450b77
cmp ecx, 0x1a0145
jne 0x451647
mov byte [ebx + 0x16], 0xe
jmp 0x450b81
mov byte [ebx + 0x16], 0x11
jmp 0x450b81
mov byte [ebx + 0x16], 0x20
mov eax, dword [ebp - 0x38]
and eax, 0xff000000
add eax, 0x1000000
xor eax, dword [ebx]
and eax, 0x7f000000
xor dword [ebx], eax
jmp 0x451198
cmp cl, 0x20
je 0x451198
mov esi, dword [ebp - 0x24]
test esi, esi
push 0x18
cmove esi, edi
cmp byte [ebx + 0x16], 5
pop eax
cmove edx, eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0xc], edx
mov dl, cl
mov ecx, dword [ebp - 0xc]
call fcn.0044f9e3
mov edx, eax
mov dword [ebp - 0xc], edx
cmp edx, 1
jne 0x451198
mov eax, dword [ebx + 0x14]
and eax, 0x91ffffff
or eax, 0x11000000
jmp 0x4516fd
cmp cl, 0xa
je 0x450bd5
cmp cl, 0xd
je 0x450bd5
cmp cl, 0x20
je 0x450bd5
jmp 0x450bbd
cmp cl, 0xa
je 0x450c73
cmp cl, 0xd
je 0x450c73
cmp cl, 0x20
jne 0x450bbd
cmp dword [ebp - 0x24], 0
push 0x20
pop edx
mov dword [ebp - 0xc], edx
je 0x451198
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x450c6a
mov eax, dword [ebx]
and eax, 0xfffe83ff
or eax, 0x8000
mov dword [ebx], eax
mov edx, dword [ebp - 0x24]
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x450c52
mov eax, dword [ebx + 0x14]
and eax, 0x82ffffff
or eax, 0x2000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4504f0
and dword [ebp - 0x24], 0
jmp 0x451198
xor eax, eax
xor edx, edx
cmp cl, 0xd
mov word [ebx + 0x10], ax
push 9
setne dl
add edx, 0x29
cmp dword [ebp - 0x24], 0
pop eax
mov word [ebx + 0x12], ax
mov dword [ebp - 0xc], edx
je 0x451198
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x450c6a
mov eax, dword [ebx]
shl edx, 0xa
and eax, 0xfffe03ff
or edx, eax
mov dword [ebx], edx
jmp 0x450c2f
cmp cl, 0x20
je 0x451198
cmp cl, 0x48
jne 0x451635
push 0x21
jmp 0x450534
cmp cl, 0x54
jne 0x450721
push 0x22
jmp 0x450534
cmp cl, 0x54
jne 0x450721
push 0x23
jmp 0x450534
cmp cl, 0x50
jne 0x450721
push 0x24
jmp 0x450534
cmp cl, 0x2f
jne 0x450721
push 0x25
jmp 0x450534
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x450d63
movsx ax, cl
push 0x26
sub ax, word [ebp - 0x20]
mov word [ebx + 0x10], ax
jmp 0x450534
cmp cl, 0x2e
jne 0x450d63
push 0x27
jmp 0x450534
lea eax, [ecx - 0x30]
cmp al, 9
ja 0x450d63
movsx ax, cl
push 0x28
sub ax, word [ebp - 0x20]
mov word [ebx + 0x12], ax
jmp 0x450534
cmp cl, 0xd
jne 0x450d5a
push 0x29
jmp 0x450534
cmp cl, 0xa
je 0x450887
mov eax, dword [ebx + 0x14]
and eax, 0x8effffff
or eax, 0xe000000
jmp 0x4516fd
cmp cl, 0xa
je 0x450887
mov eax, dword [ebx + 0x14]
and eax, 0x97ffffff
or eax, 0x17000000
jmp 0x4516fd
mov ecx, edi
mov dword [ebp - 0x38], ecx
cmp edi, dword [ebp - 0x2c]
je 0x451026
mov dl, byte [edi]
movzx eax, dl
mov byte [ebp - 1], dl
mov al, byte [eax + 0x7655b0]
mov byte [ebp - 2], al
test al, al
je 0x45101d
mov ecx, dword [ebx]
mov eax, ecx
shr eax, 0x11
and eax, 0x7f
dec eax
cmp eax, 0xb
ja case.default.0x450dcb
jmp dword [eax*4 + 0x4519df]
and ecx, 0xff000000
xor eax, eax
add ecx, 0x1000000
and ecx, 0x7f000000
cmp byte [ebp - 2], 0x6f
push 2
pop edx
cmove eax, edx
shl eax, 0x11
or ecx, eax
mov eax, dword [ebx]
and eax, 0x8001ffff
or ecx, eax
jmp 0x451011
and ecx, 0xff000000
xor eax, eax
add ecx, 0x1000000
and ecx, 0x7f000000
cmp byte [ebp - 2], 0x6e
push 3
jmp 0x450dec
and ecx, 0xff000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, 0x7f000000
xor dword [ebx], ecx
mov cl, byte [ebp - 2]
mov eax, dword [ebx]
cmp cl, 0x6e
je 0x450e57
cmp cl, 0x74
je 0x450e4b
and eax, 0xff01ffff
jmp 0x450e61
and eax, 0xff0dffff
or eax, 0xc0000
jmp 0x450e61
and eax, 0xff09ffff
or eax, 0x80000
mov dword [ebx], eax
jmp case.default.0x450dcb
and ecx, 0xff000000
mov edx, 0x7f000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx]
mov esi, ecx
and esi, edx
cmp esi, 0xa000000
ja 0x45100b
mov dl, byte [ebp - 2]
mov eax, ecx
shr eax, 0x18
and eax, 0x7f
cmp dl, byte [eax + str.connection]
jne 0x45100b
cmp esi, 0x9000000
jne case.default.0x450dcb
and ecx, 0xff13ffff
or ecx, 0x120000
jmp 0x451011
and ecx, 0xff000000
mov edx, 0x7f000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx]
mov esi, ecx
and esi, edx
cmp esi, 0x10000000
ja 0x45100b
mov dl, byte [ebp - 2]
mov eax, ecx
shr eax, 0x18
and eax, 0x7f
cmp dl, byte [eax + str.proxy_connection]
jne 0x45100b
cmp esi, 0xf000000
jmp 0x450eae
and ecx, 0xff000000
mov edx, 0x7f000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx]
mov esi, ecx
and esi, edx
cmp esi, 0xe000000
ja 0x45100b
mov dl, byte [ebp - 2]
mov eax, ecx
shr eax, 0x18
and eax, 0x7f
cmp dl, byte [eax + str.content_length]
jne 0x45100b
cmp esi, 0xd000000
jne case.default.0x450dcb
and ecx, 0xff15ffff
or ecx, 0x140000
jmp 0x451011
and ecx, 0xff000000
mov edx, 0x7f000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, edx
xor dword [ebx], ecx
mov ecx, dword [ebx]
mov esi, ecx
and esi, edx
cmp esi, 0x11000000
ja 0x45100b
mov dl, byte [ebp - 2]
mov eax, ecx
shr eax, 0x18
and eax, 0x7f
cmp dl, byte [eax + str.transfer_encoding]
jne 0x45100b
cmp esi, 0x10000000
jne case.default.0x450dcb
and ecx, 0xff17ffff
or ecx, 0x160000
jmp 0x451011
and ecx, 0xff000000
mov eax, 0x7f000000
add ecx, 0x1000000
xor ecx, dword [ebx]
and ecx, eax
xor dword [ebx], ecx
mov ecx, dword [ebx]
mov esi, ecx
and esi, eax
cmp esi, 0x7000000
ja 0x45100b
mov dl, byte [ebp - 2]
mov eax, ecx
shr eax, 0x18
and eax, 0x7f
cmp dl, byte [eax + str.upgrade]
jne 0x45100b
cmp esi, 0x6000000
jne case.default.0x450dcb
and ecx, 0xff19ffff
or ecx, 0x180000
jmp 0x451011
cmp dl, 0x20
je case.default.0x450dcb
and ecx, 0xff01ffff
mov dword [ebx], ecx
inc edi
cmp edi, dword [ebp - 0x2c]
jne 0x450d9e
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp + 8]
mov eax, edi
sub eax, ecx
add dword [ebx + 4], eax
cmp dword [ebx + 4], 0x14000
ja 0x44fd29
cmp edi, dword [ebp - 0x2c]
jne 0x451045
dec edi
jmp 0x451198
cmp byte [ebp - 1], 0x3a
jne 0x4515c1
mov ecx, dword [ebp - 8]
push 0x2c
pop edx
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x45119b
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4510b3
mov eax, dword [ebx]
mov edx, dword [ebp - 8]
and eax, 0xfffeb3ff
or eax, 0xb000
mov dword [ebx], eax
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x45109b
mov eax, dword [ebx + 0x14]
and eax, 0x83ffffff
or eax, 0x3000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4504f0
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x45119b
cmp cl, 0x20
je 0x451198
push 9
pop eax
cmp cl, al
je 0x451198
cmp cl, 0xd
jne 0x4510dd
push 0x2d
jmp 0x450534
cmp cl, 0xa
jne case.0x44fd4a.47
push 0x2e
jmp 0x450534
mov eax, dword [ebp - 0x1c]
test eax, eax
mov edx, dword [ebp - 0x20]
cmove eax, edi
mov dword [ebp - 0xc], edx
and dword [ebx], 0x80ffffff
or cl, 0x20
mov byte [ebp - 2], cl
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx]
mov ecx, eax
shr ecx, 0x11
and ecx, 0x7f
sub ecx, 9
je 0x4511a7
sub ecx, 1
je 0x451162
sub ecx, 1
je 0x451146
sub ecx, 1
je 0x451137
push 2
pop esi
sub ecx, esi
mov ecx, dword [ebp - 8]
je 0x45119b
jmp 0x450580
and eax, 0xff01ffff
or eax, 0x80
jmp 0x4505a3
cmp byte [ebp - 2], 0x63
mov ecx, dword [ebp - 8]
jne 0x450580
and eax, 0xff1bffff
or eax, 0x1a0000
jmp 0x4511f0
mov cl, byte [ebp - 1]
cmp cl, 0x30
jl 0x451659
cmp cl, 0x39
jg 0x451659
mov esi, 0x200
test esi, eax
jne 0x451600
or eax, esi
mov dword [ebx], eax
movsx eax, cl
sub eax, dword [ebp - 0x20]
cdq
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov esi, dword [ebp + 8]
inc edi
cmp edi, dword [ebp - 0x2c]
jmp 0x44fd0a
mov cl, byte [ebp - 2]
cmp cl, 0x6b
jne 0x4511be
and eax, 0xff1fffff
or eax, 0x1e0000
jmp 0x4505a3
cmp cl, 0x63
jne 0x4511d2
and eax, 0xff21ffff
or eax, 0x200000
jmp 0x4505a3
cmp cl, 0x75
mov ecx, dword [ebp - 8]
jne 0x4511e6
and eax, 0xff23ffff
or eax, 0x220000
jmp 0x4511f0
and eax, 0xff25ffff
or eax, 0x240000
mov dword [ebx], eax
jmp 0x45119b
cmp cl, 0xa
jne 0x450d7e
push 0x31
jmp 0x450534
cmp cl, 0xa
jne 0x450721
jmp 0x4510e2
cmp cl, 0xa
jne 0x450721
mov ecx, dword [ebx]
mov edx, ecx
and dword [ebx + 4], 0
mov dword [ebp - 0x14], ecx
and edx, 4
jne 0x451243
mov eax, dword [ebx + 8]
cmp dword [ebx + 0xc], edx
ja 0x451237
test eax, eax
je 0x45123f
and eax, dword [ebx + 0xc]
cmp eax, 0xffffffff
jne 0x451243
xor eax, eax
jmp 0x451246
xor eax, eax
inc eax
cmp dword [ebx + 0x14], 0x80000000
jb 0x45126d
cmp byte [ebx + 0x16], 5
je 0x45166b
test ecx, 0x100
jne 0x45166b
test eax, eax
je 0x45166b
test ecx, 0x100
je 0x4512d2
mov ecx, ebx
call fcn.00451a56
mov ecx, dword [ebp - 0x14]
test eax, eax
je 0x451293
push 3
pop eax
push 4
pop edx
test al, cl
push 0x12
pop eax
cmove edx, eax
jmp 0x451296
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x451198
and ecx, 0xfffe03ff
shl edx, 0xa
or ecx, edx
push ebx
mov dword [ebx], ecx
call eax
pop ecx
test eax, eax
je 0x4504d8
mov eax, dword [ebx + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
jmp 0x4504d5
test edx, edx
je 0x4512dd
push 0x33
jmp 0x450534
mov ecx, dword [ebx + 8]
mov eax, ecx
or eax, dword [ebx + 0xc]
je 0x451275
and ecx, dword [ebx + 0xc]
cmp ecx, 0xffffffff
je 0x4512f6
push 0x3c
jmp 0x450534
mov ecx, ebx
call fcn.00451a0f
test eax, eax
je 0x451275
push 0x3d
jmp 0x450534
mov ecx, dword [ebp - 0x18]
test ecx, ecx
cmove ecx, edi
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x18], ecx
dec edi
jmp 0x451198
mov ecx, ebx
call fcn.00451a56
test eax, eax
je 0x45133b
push 3
pop eax
test byte [ebx], al
push 4
pop edx
push 0x12
pop eax
cmove edx, eax
jmp 0x45133e
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0xc], edx
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x451389
mov eax, dword [ebx]
and eax, 0xfffe03ff
shl edx, 0xa
or eax, edx
push ebx
mov dword [ebx], eax
call ecx
pop ecx
test eax, eax
je 0x451371
mov eax, dword [ebx + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4504f0
cmp dword [ebx + 0x14], 0x80000000
jae 0x4516ce
jmp 0x451198
movzx eax, cl
mov al, byte [eax + 0x765400]
cmp al, 0xff
je 0x4516e1
movsx eax, al
cdq
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
push 0x34
jmp 0x450534
cmp cl, 0xd
jne 0x4513c9
push 0x36
jmp 0x450534
movzx eax, cl
mov al, byte [eax + 0x765400]
cmp al, 0xff
jne 0x4513eb
cmp cl, 0x3b
je 0x4513e4
cmp cl, 0x20
jne 0x4516e1
push 0x35
jmp 0x450534
mov esi, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
cmp esi, 0xfffffff
ja 0x451659
jb 0x451408
cmp ecx, 0xfffffffe
ja 0x451659
shld esi, ecx, 4
movsx eax, al
shl ecx, 4
cdq
add ecx, eax
mov dword [ebx + 8], ecx
adc esi, edx
mov dword [ebx + 0xc], esi
jmp 0x451195
cmp cl, 0xd
mov ecx, dword [ebp - 8]
jne 0x45119b
push 0x36
pop edx
mov dword [ebp - 0xc], edx
jmp 0x45119b
cmp cl, 0xa
jne 0x450721
mov eax, dword [ebx + 8]
and dword [ebx + 4], 0
or eax, dword [ebx + 0xc]
jne 0x451455
or dword [ebx], 0x40
push 0x2a
jmp 0x451457
push 0x39
mov eax, dword [ebp - 0x10]
pop edx
mov dword [ebp - 0xc], edx
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x451198
mov eax, dword [ebx]
and eax, 0xfffe03ff
shl edx, 0xa
or eax, edx
push ebx
mov dword [ebx], eax
call ecx
pop ecx
test eax, eax
je 0x4504d8
mov eax, dword [ebx + 0x14]
and eax, 0x89ffffff
or eax, 0x9000000
jmp 0x4504d5
mov ecx, dword [ebx + 8]
mov eax, esi
mov esi, dword [ebx + 0xc]
sub eax, edi
add eax, dword [ebp + 0xc]
cdq
cmp esi, edx
ja 0x4514b1
jb 0x4514ad
cmp ecx, eax
jae 0x4514b1
mov eax, ecx
mov edx, esi
mov ebx, dword [ebp - 0x18]
test ebx, ebx
cmove ebx, edi
sub ecx, eax
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x30]
sbb esi, edx
dec eax
add edi, eax
mov eax, ecx
or eax, esi
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 8]
mov dword [ebx + 0xc], esi
jne 0x4515b9
push 0x3a
jmp 0x451430
cmp cl, 0xd
jne 0x450721
cmp dword [ebp - 0x18], 0
push 0x3b
pop edx
mov dword [ebp - 0xc], edx
je 0x451198
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x45154c
mov eax, dword [ebx]
mov edx, dword [ebp - 0x18]
and eax, 0xfffeefff
or eax, 0xec00
mov dword [ebx], eax
mov eax, edi
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x451534
mov eax, dword [ebx + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
jne 0x4504f0
and dword [ebp - 0x18], 0
jmp 0x451198
cmp cl, 0xa
jne 0x450721
mov eax, dword [ebp - 0x10]
and dword [ebx + 4], 0
push 0x33
pop edx
mov ecx, dword [eax + 0x24]
mov dword [ebp - 0xc], edx
test ecx, ecx
je 0x451198
mov eax, dword [ebx]
and eax, 0xfffecfff
or eax, 0xcc00
push ebx
mov dword [ebx], eax
call ecx
pop ecx
test eax, eax
je 0x45159c
mov eax, dword [ebx + 0x14]
and eax, 0x8affffff
or eax, 0xa000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
mov dword [ebp - 0xc], edx
je 0x451198
jmp 0x4504f0
mov edx, dword [ebp - 0xc]
jmp 0x45119b
mov eax, dword [ebx + 0x14]
and eax, 0x98ffffff
or eax, 0x18000000
jmp 0x4516fd
mov eax, dword [ebx + 0x14]
and eax, 0x99ffffff
or eax, 0x19000000
mov dword [ebx + 0x14], eax
mov eax, dword [ebx]
and eax, 0xff15ffff
or eax, 0x140000
mov dword [ebx], eax
jmp 0x451700
sub edi, dword [ebp + 8]
mov eax, edi
jmp 0x4518e0
mov eax, dword [ebx + 0x14]
and eax, 0x9affffff
or eax, 0x1a000000
jmp 0x4516fd
mov eax, dword [ebx + 0x14]
and eax, 0x85ffffff
or eax, 0x5000000
mov dword [ebx + 0x14], eax
mov eax, dword [ebx]
and eax, 0xfffee3ff
or eax, 0xe000
mov dword [ebx], eax
jmp 0x45033b
mov eax, dword [ebx + 0x14]
and eax, 0x9cffffff
or eax, 0x1c000000
jmp 0x4516fd
mov eax, dword [ebx + 0x14]
and eax, 0x90ffffff
or eax, 0x10000000
jmp 0x4516fd
mov eax, dword [ebx + 0x14]
and eax, 0x99ffffff
or eax, 0x19000000
jmp 0x4516fd
mov ecx, ebx
call fcn.00451a56
test eax, eax
je 0x451686
push 3
pop eax
test byte [ebx], al
push 4
pop edx
push 0x12
pop eax
cmove edx, eax
jmp 0x451689
xor edx, edx
inc edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x4516ce
mov eax, dword [ebx]
and eax, 0xfffe03ff
shl edx, 0xa
or eax, edx
push ebx
mov dword [ebx], eax
call ecx
pop ecx
test eax, eax
je 0x4516b9
mov eax, dword [ebx + 0x14]
and eax, 0x87ffffff
or eax, 0x7000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x4504f0
mov eax, dword [ebx]
and eax, 0xfffe03ff
shl edx, 0xa
or eax, edx
mov dword [ebx], eax
jmp 0x4504f0
mov eax, dword [ebx + 0x14]
and eax, 0x9bffffff
or eax, 0x1b000000
jmp 0x4516fd
mov eax, dword [ebx + 0x14]
and eax, 0x9dffffff
or eax, 0x1d000000
mov dword [ebx + 0x14], eax
mov eax, dword [ebx + 0x14]
test eax, 0x7f000000
jne 0x451717
and eax, 0xa0ffffff
or eax, 0x20000000
mov dword [ebx + 0x14], eax
shl edx, 0xa
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
jmp 0x4515f6
mov eax, dword [ebp - 0x10]
test ecx, ecx
je 0x45177f
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x45177f
shl edx, 0xa
mov eax, edi
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
mov edx, dword [ebp - 8]
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x451767
mov eax, dword [ebx + 0x14]
and eax, 0x83ffffff
or eax, 0x3000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x45033b
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x1c], 0
je 0x4517d1
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4517d1
shl edx, 0xa
mov eax, edi
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
mov edx, dword [ebp - 0x1c]
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x4517bc
mov eax, dword [ebx + 0x14]
and eax, 0x84ffffff
or eax, 0x4000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x45033b
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x10]
je 0x451829
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x451829
shl edx, 0xa
mov eax, edi
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
mov edx, dword [ebp - 0x24]
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x451811
mov eax, dword [ebx + 0x14]
and eax, 0x82ffffff
or eax, 0x2000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x45033b
mov eax, dword [ebp - 0x10]
cmp dword [ebp - 0x18], 0
je 0x45187b
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x45187b
shl edx, 0xa
mov eax, edi
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
mov edx, dword [ebp - 0x18]
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x451866
mov eax, dword [ebx + 0x14]
and eax, 0x86ffffff
or eax, 0x6000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x45033b
cmp dword [ebp - 0x28], 0
je 0x4518d0
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4518d0
shl edx, 0xa
mov eax, edi
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
mov edx, dword [ebp - 0x28]
sub eax, edx
push eax
push edx
push ebx
call ecx
add esp, 0xc
test eax, eax
je 0x4518bb
mov eax, dword [ebx + 0x14]
and eax, 0x88ffffff
or eax, 0x8000000
mov dword [ebx + 0x14], eax
mov edx, dword [ebx]
shr edx, 0xa
and edx, 0x7f
test dword [ebx + 0x14], 0x7f000000
jne 0x45033b
mov eax, dword [ebp + 0xc]
shl edx, 0xa
xor edx, dword [ebx]
and edx, 0x1fc00
xor dword [ebx], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret