Function at 0x44f460
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x194
mov eax, dword [0x597fa8]
xor eax, esp
mov dword [esp + 0x190], eax
push ebx
mov ebx, dword [esp + 0x19c]
push ebp
mov ebp, dword [esp + 0x1a4]
mov edx, dword [ebp + 0xc]
cmp edx, 0x183
push esi
mov esi, dword [esp + 0x1b0]
push edi
mov edi, dword [esp + 0x1b8]
mov dword [esp + 0x10], edx
ja case.0x44f4ae.1
movzx eax, byte [edx + 0x4524f8]
jmp dword [eax*4 + 0x4523a0]
lea ebx, [edx - 2]
test bl, 8
mov dword [esp + 0x28], ebx
je 0x44f4e5
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x44f4d9
call fcn.0042be50
mov ecx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x44f4f7
call fcn.0042be50
mov ecx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x44f4f7
mov al, byte [esi + 4]
cmp al, 0xff
lea ecx, [esi + 5]
jne 0x44f4f4
mov esi, dword [esi - 4]
jmp 0x44f4f7
movzx esi, al
test bl, 1
je 0x44fd59
test bl, 2
je 0x44f7df
test bl, 4
je 0x44f524
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push ecx
call fcn.00440c00
mov esi, eax
jmp 0x45032f
mov eax, dword [ebp + 0x14]
add ebp, 0x18
test eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebp
je 0x450054
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
jmp 0x44f560
cmp dword [esp + 0x10], 0
je 0x450081
mov cl, byte [ebp]
mov bl, byte [esi]
mov edx, dword [0x599dbc]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x44f591
sub dword [esp + 0x10], 1
add ebp, 1
add esi, 1
sub edi, 1
jmp 0x44f707
test cl, cl
jns 0x44f768
cmp dword [esp + 0x10], 2
jl 0x44f5cc
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x44f5cc
movzx ecx, byte [ebp + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.004228e0
add ebp, 2
sub dword [esp + 0x10], 2
jmp 0x44f658
cmp dword [esp + 0x10], 3
jl 0x44f608
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x44f608
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.004228e0
add ebp, 3
sub dword [esp + 0x10], 3
jmp 0x44f658
cmp dword [esp + 0x10], 4
jl 0x44f64e
and cl, 0xf8
cmp cl, 0xf0
jne 0x44f64e
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebp + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.004228e0
add ebp, 4
sub dword [esp + 0x10], 4
jmp 0x44f658
xor eax, eax
add ebp, 1
sub dword [esp + 0x10], 1
test bl, bl
jns 0x44f6fa
cmp edi, 2
jl 0x44f686
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x44f686
movzx ecx, byte [esi + 1]
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
add esi, 2
sub edi, 2
jmp 0x44f703
cmp edi, 3
jl 0x44f6b8
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x44f6b8
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 3
sub edi, 3
jmp 0x44f703
cmp edi, 4
jl 0x44f6f6
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x44f6f6
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ecx, 0x3f
and ebx, 7
shl ebx, 6
or ecx, ebx
shl ecx, 6
and edx, 0x3f
or ecx, edx
movzx edx, byte [esi + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
add esi, 4
sub edi, 4
jmp 0x44f703
xor ecx, ecx
jmp 0x44f6fd
movzx ecx, bl
add esi, 1
sub edi, 1
cmp eax, ecx
jne 0x44f768
test edi, edi
jne 0x44f560
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x44f71a
cmp al, 0x7a
jbe 0x44f736
cmp al, 0x41
jb 0x44f722
cmp al, 0x5a
jbe 0x44f736
cmp al, 0x30
jb 0x44f72a
cmp al, 0x39
jbe 0x44f736
cmp al, 0x5f
je 0x44f736
test al, al
jns 0x450054
cmp dword [esp + 0x10], 0
je 0x450054
mov al, byte [ebp]
cmp al, 0x61
jb 0x44f74c
cmp al, 0x7a
jbe 0x44f768
cmp al, 0x41
jb 0x44f754
cmp al, 0x5a
jbe 0x44f768
cmp al, 0x30
jb 0x44f75c
cmp al, 0x39
jbe 0x44f768
cmp al, 0x5f
je 0x44f768
test al, al
jns 0x450054
mov eax, dword [esp + 0x24]
mov cl, byte [eax]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], esi
jb 0x44f78e
cmp cl, 0x7a
jbe 0x44f7af
cmp cl, 0x41
jb 0x44f798
cmp cl, 0x5a
jbe 0x44f7af
cmp cl, 0x30
jb 0x44f7a2
cmp cl, 0x39
jbe 0x44f7af
cmp cl, 0x5f
je 0x44f7af
test cl, cl
jns 0x44f542
test esi, esi
je 0x44f542
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x44f7c2
cmp al, 0x7a
jbe 0x44f776
cmp al, 0x41
jb 0x44f7ca
cmp al, 0x5a
jbe 0x44f776
cmp al, 0x30
jb 0x44f7d2
cmp al, 0x39
jbe 0x44f776
cmp al, 0x5f
je 0x44f776
test al, al
js 0x44f776
jmp 0x44f542
mov eax, dword [ebp + 0x14]
add ebp, 0x18
test bl, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebp
je 0x44faa9
test eax, eax
je 0x450054
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], esi
jmp 0x44f810
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x10], 0
je 0x450081
mov cl, byte [ebp]
mov bl, byte [esi]
mov edx, dword [0x599db8]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x44f855
sub dword [esp + 0x10], 1
add ebp, 1
add esi, 1
sub edi, 1
jmp 0x44f9ce
test cl, cl
jns 0x44fa2f
cmp dword [esp + 0x10], 2
jl 0x44f890
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x44f890
movzx ecx, byte [ebp + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409c10
add ebp, 2
sub dword [esp + 0x10], 2
jmp 0x44f91c
cmp dword [esp + 0x10], 3
jl 0x44f8cc
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x44f8cc
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409c10
add ebp, 3
sub dword [esp + 0x10], 3
jmp 0x44f91c
cmp dword [esp + 0x10], 4
jl 0x44f912
and cl, 0xf8
cmp cl, 0xf0
jne 0x44f912
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebp + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409c10
add ebp, 4
sub dword [esp + 0x10], 4
jmp 0x44f91c
xor eax, eax
add ebp, 1
sub dword [esp + 0x10], 1
test bl, bl
jns 0x44f9c1
cmp edi, 2
jl 0x44f94d
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x44f94d
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub edi, 2
jmp 0x44f9ca
cmp edi, 3
jl 0x44f97f
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x44f97f
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add esi, 3
sub edi, 3
jmp 0x44f9ca
cmp edi, 4
jl 0x44f9bd
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x44f9bd
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add esi, 4
sub edi, 4
jmp 0x44f9ca
xor ebx, ebx
jmp 0x44f9c4
movzx ebx, bl
add esi, 1
sub edi, 1
cmp eax, ebx
jne 0x44fa2f
test edi, edi
jne 0x44f824
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x44f9e1
cmp al, 0x7a
jbe 0x44f9fd
cmp al, 0x41
jb 0x44f9e9
cmp al, 0x5a
jbe 0x44f9fd
cmp al, 0x30
jb 0x44f9f1
cmp al, 0x39
jbe 0x44f9fd
cmp al, 0x5f
je 0x44f9fd
test al, al
jns 0x450054
cmp dword [esp + 0x10], 0
je 0x450054
mov al, byte [ebp]
cmp al, 0x61
jb 0x44fa13
cmp al, 0x7a
jbe 0x44fa2f
cmp al, 0x41
jb 0x44fa1b
cmp al, 0x5a
jbe 0x44fa2f
cmp al, 0x30
jb 0x44fa23
cmp al, 0x39
jbe 0x44fa2f
cmp al, 0x5f
je 0x44fa2f
test al, al
jns 0x450054
mov edx, dword [esp + 0x24]
mov cl, byte [edx]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
lea ecx, [ecx]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], esi
jb 0x44fa58
cmp cl, 0x7a
jbe 0x44fa79
cmp cl, 0x41
jb 0x44fa62
cmp cl, 0x5a
jbe 0x44fa79
cmp cl, 0x30
jb 0x44fa6c
cmp cl, 0x39
jbe 0x44fa79
cmp cl, 0x5f
je 0x44fa79
test cl, cl
jns 0x44f810
test esi, esi
je 0x44f810
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x44fa8c
cmp al, 0x7a
jbe 0x44fa40
cmp al, 0x41
jb 0x44fa94
cmp al, 0x5a
jbe 0x44fa40
cmp al, 0x30
jb 0x44fa9c
cmp al, 0x39
jbe 0x44fa40
cmp al, 0x5f
je 0x44fa40
test al, al
js 0x44fa40
jmp 0x44f810
test eax, eax
je 0x450054
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], esi
lea esp, [esp]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x450081
mov cl, byte [ebp]
mov bl, byte [esi]
mov edx, dword [0x599db8]
movzx eax, cl
cmp byte [eax + edx], bl
jne 0x44fb05
sub dword [esp + 0x10], 1
add ebp, 1
add esi, 1
sub edi, 1
jmp 0x44fc7e
test cl, cl
jns 0x44fcdf
cmp dword [esp + 0x10], 2
jl 0x44fb40
mov dl, cl
and dl, 0xe0
cmp dl, 0xc0
jne 0x44fb40
movzx ecx, byte [ebp + 1]
and eax, 0x1f
and ecx, 0x3f
shl eax, 6
or ecx, eax
push ecx
call fcn.00409c60
add ebp, 2
sub dword [esp + 0x10], 2
jmp 0x44fbcc
cmp dword [esp + 0x10], 3
jl 0x44fb7c
mov dl, cl
and dl, 0xf0
cmp dl, 0xe0
jne 0x44fb7c
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 0xf
shl eax, 6
or ecx, eax
shl ecx, 6
and edx, 0x3f
or ecx, edx
push ecx
call fcn.00409c60
add ebp, 3
sub dword [esp + 0x10], 3
jmp 0x44fbcc
cmp dword [esp + 0x10], 4
jl 0x44fbc2
and cl, 0xf8
cmp cl, 0xf0
jne 0x44fbc2
movzx ecx, byte [ebp + 1]
movzx edx, byte [ebp + 2]
and ecx, 0x3f
and eax, 7
shl eax, 6
or ecx, eax
movzx eax, byte [ebp + 3]
shl ecx, 6
and edx, 0x3f
or ecx, edx
shl ecx, 6
and eax, 0x3f
or ecx, eax
push ecx
call fcn.00409c60
add ebp, 4
sub dword [esp + 0x10], 4
jmp 0x44fbcc
xor eax, eax
add ebp, 1
sub dword [esp + 0x10], 1
test bl, bl
jns 0x44fc71
cmp edi, 2
jl 0x44fbfd
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x44fbfd
movzx edx, byte [esi + 1]
and ebx, 0x1f
shl ebx, 6
and edx, 0x3f
or ebx, edx
add esi, 2
sub edi, 2
jmp 0x44fc7a
cmp edi, 3
jl 0x44fc2f
mov cl, bl
and cl, 0xf0
cmp cl, 0xe0
jne 0x44fc2f
movzx edx, byte [esi + 1]
movzx ecx, byte [esi + 2]
and ebx, 0xf
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add esi, 3
sub edi, 3
jmp 0x44fc7a
cmp edi, 4
jl 0x44fc6d
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x44fc6d
movzx ecx, byte [esi + 1]
movzx edx, byte [esi + 2]
and ebx, 7
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
movzx ecx, byte [esi + 3]
shl ebx, 6
and edx, 0x3f
or ebx, edx
shl ebx, 6
and ecx, 0x3f
or ebx, ecx
add esi, 4
sub edi, 4
jmp 0x44fc7a
xor ebx, ebx
jmp 0x44fc74
movzx ebx, bl
add esi, 1
sub edi, 1
cmp eax, ebx
jne 0x44fcdf
test edi, edi
jne 0x44fad4
mov al, byte [esi - 1]
cmp al, 0x61
jb 0x44fc91
cmp al, 0x7a
jbe 0x44fcad
cmp al, 0x41
jb 0x44fc99
cmp al, 0x5a
jbe 0x44fcad
cmp al, 0x30
jb 0x44fca1
cmp al, 0x39
jbe 0x44fcad
cmp al, 0x5f
je 0x44fcad
test al, al
jns 0x450054
cmp dword [esp + 0x10], 0
je 0x450054
mov al, byte [ebp]
cmp al, 0x61
jb 0x44fcc3
cmp al, 0x7a
jbe 0x44fcdf
cmp al, 0x41
jb 0x44fccb
cmp al, 0x5a
jbe 0x44fcdf
cmp al, 0x30
jb 0x44fcd3
cmp al, 0x39
jbe 0x44fcdf
cmp al, 0x5f
je 0x44fcdf
test al, al
jns 0x450054
mov edx, dword [esp + 0x24]
mov cl, byte [edx]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
lea ecx, [ecx]
add edx, 1
sub esi, 1
cmp cl, 0x61
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], esi
jb 0x44fd08
cmp cl, 0x7a
jbe 0x44fd29
cmp cl, 0x41
jb 0x44fd12
cmp cl, 0x5a
jbe 0x44fd29
cmp cl, 0x30
jb 0x44fd1c
cmp cl, 0x39
jbe 0x44fd29
cmp cl, 0x5f
je 0x44fd29
test cl, cl
jns 0x44fac0
test esi, esi
je 0x44fac0
mov al, byte [edx - 1]
cmp al, 0x61
jb 0x44fd3c
cmp al, 0x7a
jbe 0x44fcf0
cmp al, 0x41
jb 0x44fd44
cmp al, 0x5a
jbe 0x44fcf0
cmp al, 0x30
jb 0x44fd4c
cmp al, 0x39
jbe 0x44fcf0
cmp al, 0x5f
je 0x44fcf0
test al, al
js 0x44fcf0
jmp 0x44fac0
test bl, 2
je 0x45005e
test bl, 4
je 0x44fd7d
mov eax, dword [ebp + 0x14]
push eax
add ebp, 0x18
push ebp
push esi
push ecx
call fcn.005227c0
mov esi, eax
jmp 0x45032f
mov edi, dword [ebp + 0x14]
cmp edi, esi
lea eax, [ebp + 0x18]
mov dword [esp + 0x3c], eax
jle 0x44fd92
xor esi, esi
jmp 0x45032f
lea ebx, [esi + ecx]
sub ecx, eax
mov edx, ecx
sub edx, edi
add edx, esi
lea ebp, [eax + edi]
mov dword [esp + 0x38], edx
mov edx, ebp
sub edx, eax
sub ebx, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebx
lea ebx, [ebx]
mov edi, ecx
lea ecx, [eax + 3]
mov esi, eax
lea ebp, [eax + 2]
add eax, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ebx
lea ecx, [ecx]
cmp esi, dword [esp + 0x24]
jae 0x450054
mov al, byte [esi + edi]
mov bl, byte [esi]
mov edx, dword [0x599dbc]
movzx ecx, al
cmp byte [ecx + edx], bl
jne 0x44fe18
mov eax, 1
add dword [esp + 0x1c], eax
add dword [esp + 0x14], eax
sub dword [esp + 0x10], eax
add esi, eax
add ebp, eax
sub dword [esp + 0x18], eax
jmp 0x44fde0
test al, al
jns 0x45002c
mov ecx, dword [esp + 0x10]
sub ecx, edi
cmp ecx, 2
jl 0x44fe57
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x44fe57
movzx ecx, byte [esi + edi]
movzx eax, byte [esi + edi + 1]
and ecx, 0x1f
and eax, 0x3f
shl ecx, 6
or eax, ecx
push eax
call fcn.004228e0
add edi, 1
jmp 0x44fed8
cmp ecx, 3
jl 0x44fe92
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x44fe92
movzx ecx, byte [esi + edi]
movzx eax, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and eax, 0x3f
and ecx, 0xf
shl ecx, 6
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
push eax
call fcn.004228e0
add edi, 2
jmp 0x44fed8
cmp ecx, 4
jl 0x44fed6
and al, 0xf8
cmp al, 0xf0
jne 0x44fed6
movzx ecx, byte [esi + edi]
movzx eax, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and eax, 0x3f
and ecx, 7
shl ecx, 6
or eax, ecx
movzx ecx, byte [esi + edi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
push eax
call fcn.004228e0
add edi, 3
jmp 0x44fed8
xor eax, eax
test bl, bl
jns 0x44fff5
mov edx, dword [esp + 0x24]
cmp ebp, edx
ja 0x44ff26
mov cl, bl
and cl, 0xe0
cmp cl, 0xc0
jne 0x44ff26
movzx edx, byte [esi + 1]
and ebx, 0x1f
mov ecx, 2
add dword [esp + 0x1c], ecx
add dword [esp + 0x14], ecx
sub dword [esp + 0x10], ecx
sub dword [esp + 0x18], ecx
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 1
add esi, ecx
add ebp, ecx
sub edi, edx
jmp 0x450011
mov ecx, dword [esp + 0x14]
cmp ecx, edx
ja 0x44ff7d
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x44ff7d
movzx edx, byte [esi + 1]
add dword [esp + 0x1c], 3
and ebx, 0xf
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ebp]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 3
sub dword [esp + 0x10], edx
sub dword [esp + 0x18], edx
add ecx, edx
add ebp, edx
add esi, 3
mov dword [esp + 0x14], ecx
sub edi, 2
mov edx, 1
jmp 0x450011
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x24]
ja 0x44ffde
mov dl, bl
and dl, 0xf8
cmp dl, 0xf0
jne 0x44ffde
movzx edx, byte [esi + 1]
add dword [esp + 0x1c], 4
and ebx, 7
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ebp]
and edx, 0x3f
shl ebx, 6
or ebx, edx
movzx edx, byte [ecx]
and edx, 0x3f
shl ebx, 6
or ebx, edx
mov edx, 4
sub dword [esp + 0x10], edx
sub dword [esp + 0x18], edx
add ecx, edx
add ebp, edx
add esi, 4
mov dword [esp + 0x14], ecx
sub edi, 3
mov edx, 1
jmp 0x450011
add dword [esp + 0x1c], 1
mov edx, 1
xor ebx, ebx
add esi, 1
add ecx, edx
mov dword [esp + 0x14], ecx
jmp 0x450007
mov edx, 1
add dword [esp + 0x1c], edx
add esi, edx
add dword [esp + 0x14], edx
movzx ebx, bl
sub dword [esp + 0x10], edx
add ebp, edx
sub dword [esp + 0x18], edx
cmp eax, ebx
jne 0x450031
mov eax, dword [esp + 0x10]
sub eax, edi
cmp eax, dword [esp + 0x18]
jge 0x44fde0
xor esi, esi
jmp 0x45032f
mov edx, 1
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x38]
je 0x450081
add dword [esp + 0x20], edx
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
jmp 0x44fdc0
mov esi, 1
jmp 0x45032f
mov edx, dword [ebp + 0x14]
add ebp, 0x18
test bl, 4
je 0x450079
push edx
push ebp
push esi
push ecx
call fcn.0041e2c0
mov esi, eax
jmp 0x45032f
cmp edx, esi
mov dword [esp + 0x34], ebp
jle 0x450088
xor esi, esi
jmp 0x45032f
lea edi, [esi + ecx]
sub ecx, ebp
lea ebx, [edx + ebp]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x24], ebx
add eax, esi
sub ebx, ebp
sub edi, ebp
mov dword [esp + 0x20], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], edi
mov edx, 1
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x20]
lea eax, [esi + 3]
mov dword [esp + 0x1c], eax
lea eax, [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
lea ebp, [esi + 2]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
lea esp, [esp]
cmp esi, dword [esp + 0x24]
jae 0x45032d
mov al, byte [esi + edi]
mov bl, byte [esi]
mov ecx, dword [0x599db8]
movzx edx, al
cmp byte [edx + ecx], bl
jne 0x450118
mov edx, 1
add dword [esp + 0x18], edx
add dword [esp + 0x1c], edx
sub dword [esp + 0x10], edx
add esi, edx
add ebp, edx
sub dword [esp + 0x14], edx
jmp 0x4500e0
test al, al
jns 0x450311
mov ecx, dword [esp + 0x10]
sub ecx, edi
cmp ecx, 2
jl 0x450157
mov dl, al
and dl, 0xe0
cmp dl, 0xc0
jne 0x450157
movzx eax, byte [esi + edi]
movzx ecx, byte [esi + edi + 1]
and eax, 0x1f
shl eax, 6
and ecx, 0x3f
or eax, ecx
push eax
call fcn.00409c60
add edi, 1
jmp 0x4501d8
cmp ecx, 3
jl 0x450192
mov dl, al
and dl, 0xf0
cmp dl, 0xe0
jne 0x450192
movzx eax, byte [esi + edi]
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and eax, 0xf
shl eax, 6
and ecx, 0x3f
or eax, ecx
shl eax, 6
and edx, 0x3f
or eax, edx
push eax
call fcn.00409c60
add edi, 2
jmp 0x4501d8
cmp ecx, 4
jl 0x4501d6
and al, 0xf8
cmp al, 0xf0
jne 0x4501d6
movzx eax, byte [esi + edi]
movzx ecx, byte [esi + edi + 1]
movzx edx, byte [esi + edi + 2]
and eax, 7
shl eax, 6
and ecx, 0x3f
or eax, ecx
movzx ecx, byte [esi + edi + 3]
shl eax, 6
and edx, 0x3f
or eax, edx
shl eax, 6
and ecx, 0x3f
or eax, ecx
push eax
call fcn.00409c60
add edi, 3
jmp 0x4501d8
xor eax, eax
test bl, bl
mov edx, 1
jns 0x4502e2
mov ecx, dword [esp + 0x24]
cmp ebp, ecx
ja 0x45022b
mov dl, bl
and dl, 0xe0
cmp dl, 0xc0
jne 0x45022b
movzx ecx, byte [esi + 1]
mov edx, 2
add dword [esp + 0x18], edx
add dword [esp + 0x1c], edx
sub dword [esp + 0x10], edx
sub dword [esp + 0x14], edx
and ebx, 0x1f
and ecx, 0x3f
shl ebx, 6
add esi, edx
add ebp, edx
mov edx, 1
or ecx, ebx
sub edi, edx
jmp 0x4502f9
cmp dword [esp + 0x1c], ecx
ja 0x45027c
mov dl, bl
and dl, 0xf0
cmp dl, 0xe0
jne 0x45027c
movzx ecx, byte [esi + 1]
movzx edx, byte [ebp]
and ecx, 0x3f
and ebx, 0xf
shl ebx, 6
or ecx, ebx
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, 3
add dword [esp + 0x18], edx
add dword [esp + 0x1c], edx
sub dword [esp + 0x10], edx
sub dword [esp + 0x14], edx
add esi, edx
add ebp, edx
sub edi, 2
mov edx, 1
jmp 0x4502f9
cmp dword [esp + 0x18], ecx
ja 0x4502db
mov cl, bl
and cl, 0xf8
cmp cl, 0xf0
jne 0x4502db
movzx ecx, byte [esi + 1]
movzx edx, byte [ebp]
add dword [esp + 0x18], 4
and ebx, 7
and ecx, 0x3f
shl ebx, 6
or ecx, ebx
and edx, 0x3f
shl ecx, 6
or ecx, edx
mov edx, dword [esp + 0x1c]
movzx ebx, byte [edx]
and ebx, 0x3f
shl ecx, 6
or ecx, ebx
mov ebx, 4
sub dword [esp + 0x10], ebx
sub dword [esp + 0x14], ebx
add edx, ebx
add esi, 4
add ebp, ebx
mov dword [esp + 0x1c], edx
sub edi, 3
lea edx, [ebx - 3]
jmp 0x4502f9
xor ecx, ecx
lea edx, [ecx + 1]
jmp 0x4502e5
movzx ecx, bl
add dword [esp + 0x18], edx
add dword [esp + 0x1c], edx
sub dword [esp + 0x10], edx
add esi, edx
add ebp, edx
sub dword [esp + 0x14], edx
cmp eax, ecx
jne 0x450316
mov eax, dword [esp + 0x10]
sub eax, edi
cmp eax, dword [esp + 0x14]
jge 0x4500e0
xor esi, esi
jmp 0x45032f
mov edx, 1
mov ecx, dword [esp + 0x20]
cmp ecx, dword [esp + 0x38]
je 0x450081
add dword [esp + 0x20], edx
jmp 0x4500b3
mov esi, edx
test byte [esp + 0x28], 0x10
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0x22]
test bl, 2
mov dword [esp + 0x30], ebx
je 0x450378
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x45036c
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45038b
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45038b
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x450388
mov esi, dword [esi - 4]
jmp 0x45038b
movzx esi, cl
test bl, 1
je 0x4504a8
mov ecx, dword [ebp + 0x14]
test ecx, ecx
lea edx, [ebp + 0x18]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x34], edx
je 0x4504ef
mov ebx, dword [0x599db8]
mov edi, eax
mov dword [esp + 0x24], edi
mov ebp, esi
mov esi, dword [esp + 0x28]
mov ecx, ebp
mov eax, edx
sub esi, ebp
test ecx, ecx
je 0x4504b2
movzx edx, byte [edi]
mov dl, byte [edx + ebx]
cmp dl, byte [eax]
jne 0x450439
sub ecx, 1
lea edx, [ecx + esi]
add edi, 1
add eax, 1
test edx, edx
jne 0x4503c2
mov al, byte [eax - 1]
cmp al, 0x61
jb 0x4503ef
cmp al, 0x7a
jbe 0x45040b
cmp al, 0x41
jb 0x4503f7
cmp al, 0x5a
jbe 0x45040b
cmp al, 0x30
jb 0x4503ff
cmp al, 0x39
jbe 0x45040b
cmp al, 0x5f
je 0x45040b
test al, al
jns 0x4504ef
test ecx, ecx
je 0x4504ef
mov al, byte [edi]
cmp al, 0x61
jb 0x45041d
cmp al, 0x7a
jbe 0x450439
cmp al, 0x41
jb 0x450425
cmp al, 0x5a
jbe 0x450439
cmp al, 0x30
jb 0x45042d
cmp al, 0x39
jbe 0x450439
cmp al, 0x5f
je 0x450439
test al, al
jns 0x4504ef
mov edx, dword [esp + 0x34]
mov cl, byte [edx]
mov edi, dword [esp + 0x24]
add edi, 1
sub ebp, 1
cmp cl, 0x61
mov dword [esp + 0x24], edi
jb 0x450457
cmp cl, 0x7a
jbe 0x450478
cmp cl, 0x41
jb 0x450461
cmp cl, 0x5a
jbe 0x450478
cmp cl, 0x30
jb 0x45046b
cmp cl, 0x39
jbe 0x450478
cmp cl, 0x5f
je 0x450478
test cl, cl
jns 0x4503b8
test ebp, ebp
je 0x4503b8
mov al, byte [edi - 1]
cmp al, 0x61
jb 0x45048b
cmp al, 0x7a
jbe 0x450443
cmp al, 0x41
jb 0x450493
cmp al, 0x5a
jbe 0x450443
cmp al, 0x30
jb 0x45049b
cmp al, 0x39
jbe 0x450443
cmp al, 0x5f
je 0x450443
test al, al
js 0x450443
jmp 0x4503b8
mov edx, dword [ebp + 0x14]
add ebp, 0x18
cmp edx, esi
jle 0x4504b6
xor esi, esi
jmp 0x4504f4
sub eax, ebp
mov ecx, eax
mov edi, ecx
sub edi, edx
add edi, esi
mov esi, dword [0x599db8]
lea ebx, [edx + ebp]
lea esp, [esp]
mov eax, ebp
cmp eax, ebx
jae 0x4504ef
movzx edx, byte [eax + ecx]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x4504e6
add eax, 1
jmp 0x4504d2
cmp ecx, edi
je 0x4504b2
add ecx, 1
jmp 0x4504d0
mov esi, 1
test byte [esp + 0x30], 4
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
lea ebx, [edx - 0x2a]
test bl, 4
mov dword [esp + 0x28], ebx
je 0x45053d
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450531
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450550
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450550
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x45054d
mov esi, dword [esi - 4]
jmp 0x450550
movzx esi, cl
test bl, 1
je 0x4505a7
test bl, 2
je 0x450596
mov ebx, dword [ebp + 0x14]
cmp esi, ebx
mov edx, esi
jl 0x450565
mov edx, ebx
test edx, edx
lea edi, [ebp + 0x18]
je 0x450583
sub edi, eax
mov edi, edi
movzx ebp, byte [eax + edi]
movzx ecx, byte [eax]
sub ecx, ebp
jne 0x450587
add eax, 1
sub edx, 1
jne 0x450570
sub esi, ebx
mov ecx, esi
mov ebx, dword [esp + 0x28]
xor edx, edx
test ecx, ecx
sete dl
mov esi, edx
jmp 0x4505d5
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00422bd0
jmp 0x4505cc
test bl, 2
je 0x4505bd
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00414420
jmp 0x4505cc
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00422930
mov esi, eax
neg esi
sbb esi, esi
add esi, 1
test bl, 8
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
add edx, 0xffffffc6
test dl, 1
mov dword [esp + 0x28], edx
je 0x45061c
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450610
call fcn.0042be50
mov edx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45062e
call fcn.0042be50
mov edx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45062e
mov al, byte [esi + 4]
cmp al, 0xff
lea edx, [esi + 5]
jne 0x45062b
mov esi, dword [esi - 4]
jmp 0x45062e
movzx esi, al
test esi, esi
mov edi, dword [ebp + 0x14]
lea eax, [ebp + 0x18]
mov ecx, esi
je 0x450664
mov ebp, dword [0x599db8]
mov esi, edx
sub esi, eax
test edi, edi
je 0x450664
movzx edx, byte [eax + esi]
movzx edx, byte [edx + ebp]
movzx ebx, byte [eax]
sub edx, ebx
jne 0x450688
sub ecx, 1
add eax, 1
sub edi, 1
test ecx, ecx
jne 0x450644
sub ecx, edi
xor eax, eax
test ecx, ecx
sete al
test byte [esp + 0x28], 2
mov esi, eax
je 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
mov ecx, edx
jmp 0x450666
lea ebx, [edx - 0x3e]
test bl, 8
je 0x4506b8
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x4506ac
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4506cb
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4506cb
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x4506c8
mov esi, dword [esi - 4]
jmp 0x4506cb
movzx esi, cl
test bl, 1
je 0x450729
test bl, 2
je 0x450702
test bl, 4
je 0x4506ee
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00520be0
jmp 0x45077a
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00520f20
jmp 0x45077a
test bl, 4
je 0x450718
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00520d20
jmp 0x45077a
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00520e20
jmp 0x45077a
test bl, 2
je 0x450755
test bl, 4
je 0x450744
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00521e20
jmp 0x45077a
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00521f60
jmp 0x45077a
test bl, 4
je 0x45076b
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00521ec0
jmp 0x45077a
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00521f10
test bl, 0x10
mov esi, eax
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0x5e]
test bl, 2
je 0x4507bf
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x4507b3
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4507d2
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4507d2
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x4507cf
mov esi, dword [esi - 4]
jmp 0x4507d2
movzx esi, cl
test bl, 1
je 0x4507e8
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00520c80
jmp 0x4507f7
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.00521e70
test bl, 4
mov esi, eax
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
lea ebx, [edx - 0x66]
test bl, 4
je 0x45083c
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450830
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45084f
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x45084f
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x45084c
mov esi, dword [esi - 4]
jmp 0x45084f
movzx esi, cl
test bl, 1
je 0x45087b
test bl, 2
je 0x45086a
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.0051edd0
jmp 0x4508a0
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.0051f840
jmp 0x4508a0
test bl, 2
je 0x450891
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.0051f060
jmp 0x4508a0
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.0051f450
test bl, 8
mov esi, eax
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
lea ebx, [edx - 0x76]
test bl, 1
je 0x4508e5
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x4508d9
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4508f8
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x4508f8
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x4508f5
mov esi, dword [esi - 4]
jmp 0x4508f8
movzx esi, cl
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push eax
call fcn.0051ef10
mov esi, eax
test bl, 2
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0x8e]
test bl, 4
je 0x45094f
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450943
call fcn.0042be50
mov edx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450961
call fcn.0042be50
mov edx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450961
mov al, byte [esi + 4]
cmp al, 0xff
lea edx, [esi + 5]
jne 0x45095e
mov esi, dword [esi - 4]
jmp 0x450961
movzx esi, al
test bl, 1
je 0x4509ac
test bl, 2
je 0x45099b
mov ecx, dword [ebp + 0x14]
cmp ecx, esi
lea eax, [ebp + 0x18]
jle 0x450979
xor esi, esi
jmp 0x4509d3
sub esi, eax
sub esi, ecx
lea edi, [eax + ecx]
add esi, edx
cmp eax, edi
je 0x450994
mov cl, byte [esi + eax]
cmp cl, byte [eax]
jne 0x450975
add eax, 1
cmp eax, edi
jne 0x450986
mov esi, 1
jmp 0x4509d3
mov eax, dword [ebp + 0x14]
push eax
add ebp, 0x18
push ebp
push esi
push edx
call fcn.004236a0
jmp 0x4509d1
test bl, 2
je 0x4509c2
mov ecx, dword [ebp + 0x14]
push ecx
add ebp, 0x18
push ebp
push esi
push edx
call fcn.0041e590
jmp 0x4509d1
mov eax, dword [ebp + 0x14]
push eax
add ebp, 0x18
push ebp
push esi
push edx
call fcn.00423400
mov esi, eax
test bl, 8
je 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
add edx, 0xffffff62
test dl, 1
mov dword [esp + 0x28], edx
je 0x450a1d
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450a11
call fcn.0042be50
mov ebx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450a2f
call fcn.0042be50
mov ebx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450a2f
mov al, byte [esi + 4]
cmp al, 0xff
lea ebx, [esi + 5]
jne 0x450a2c
mov esi, dword [esi - 4]
jmp 0x450a2f
movzx esi, al
mov ecx, dword [ebp + 0x14]
cmp ecx, esi
lea eax, [ebp + 0x18]
jg 0x450a69
sub esi, eax
sub esi, ecx
lea edx, [eax + ecx]
add esi, ebx
cmp eax, edx
je 0x450a62
mov edi, dword [0x599db8]
lea esp, [esp]
movzx ecx, byte [esi + eax]
mov cl, byte [ecx + edi]
cmp cl, byte [eax]
jne 0x450a69
add eax, 1
cmp eax, edx
jne 0x450a50
mov esi, 1
jmp 0x450a6b
xor esi, esi
test byte [esp + 0x28], 2
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
mov al, byte [esi + 4]
cmp al, 0xff
lea ebx, [edx - 0xa2]
lea ecx, [esi + 5]
jne 0x450a99
mov esi, dword [esi - 4]
jmp 0x450a9c
movzx esi, al
lea edx, [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
mov eax, ebx
and eax, 3
mov eax, dword [eax*4 + 0x58ce6c]
push esi
push ecx
call eax
test bl, 4
mov esi, eax
je 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
mov al, byte [esi + 4]
cmp al, 0xff
lea ebx, [edx - 0x176]
lea ecx, [esi + 5]
jne 0x450ae2
mov esi, dword [esi - 4]
jmp 0x450ae5
movzx esi, al
lea eax, [ebp + 0x18]
push eax
mov eax, dword [ebp + 0x14]
push eax
mov edx, ebx
push esi
and edx, 3
push ecx
mov ecx, dword [edx*4 + 0x58ce7c]
call ecx
test bl, 4
mov esi, eax
je 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x450b26
mov esi, dword [esi - 4]
jmp 0x450b29
movzx esi, cl
lea eax, [esi + eax - 1]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
mov edx, dword [ebp + eax*8 + 0x18]
cmp esi, edx
jl 0x450b60
mov esi, edx
test esi, esi
mov ebx, dword [esp + 0x24]
mov edi, dword [ebp + eax*8 + 0x1c]
je 0x450bd9
mov ecx, ebx
movzx edx, byte [ecx]
mov ecx, dword [0x599db8]
movzx edx, byte [edx + ecx]
movzx ecx, byte [edi]
sub edx, ecx
jne 0x450ba2
sub ebx, 1
sub esi, 1
je 0x450bd5
movzx edx, byte [ebx]
mov ecx, dword [0x599db8]
movzx edx, byte [edx + ecx]
movzx ecx, byte [edi - 1]
sub edi, 1
sub edx, ecx
je 0x450b82
test edx, edx
jge 0x450bea
mov ecx, dword [esp + 0x20]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
cmp ecx, dword [esp + 0x18]
jle 0x450b45
xor esi, esi
cmp dword [esp + 0x10], 0xab
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
sub edx, dword [ebp + eax*8 + 0x18]
test edx, edx
jle 0x450bf3
cmp byte [ebx], 0x2e
je 0x450bfc
lea ecx, [eax + 1]
mov dword [esp + 0x20], ecx
jmp 0x450bb1
add eax, 0xffffffff
mov dword [esp + 0x18], eax
jmp 0x450bb1
mov esi, 1
jmp 0x450bb9
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x450c13
mov esi, dword [esi - 4]
jmp 0x450c16
movzx esi, cl
add eax, esi
test esi, esi
mov ecx, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
je 0x450c46
sub eax, 1
cmp byte [eax], 0x2e
je 0x450c39
sub ecx, 1
jne 0x450c26
mov dword [esp + 0x20], ecx
jmp 0x450c42
add eax, 1
sub esi, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
xor ecx, ecx
sub eax, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x18]
sar eax, 1
add eax, ecx
mov ebx, dword [ebp + eax*8 + 0x1c]
mov esi, dword [ebp + eax*8 + 0x18]
sub ebx, edx
test edi, edi
mov dword [esp + 0x24], esi
je 0x450cba
test esi, esi
je 0x450cba
movzx ecx, byte [edx]
mov esi, dword [0x599db8]
movzx esi, byte [ecx + esi]
movzx ecx, byte [edx + ebx]
sub esi, ecx
jne 0x450ca9
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
sub esi, 1
add edx, 1
sub edi, 1
jmp 0x450c75
test esi, esi
jge 0x450ccb
mov ecx, dword [esp + 0x1c]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x450cd2
sub edi, esi
je 0x450ce0
test edi, edi
jge 0x450ccb
add eax, 0xffffffff
mov dword [esp + 0x14], eax
jmp 0x450cd2
lea ecx, [eax + 1]
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esp + 0x14]
jle 0x450c56
xor esi, esi
jmp 0x450ce5
mov esi, 1
cmp dword [esp + 0x10], 0x17f
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0x7a]
test bl, 4
je 0x450d2d
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450d21
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450d40
call fcn.0042be50
mov eax, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450d40
mov cl, byte [esi + 4]
cmp cl, 0xff
lea eax, [esi + 5]
jne 0x450d3d
mov esi, dword [esi - 4]
jmp 0x450d40
movzx esi, cl
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
push ebp
mov ecx, ebx
push esi
and ecx, 3
push eax
mov eax, dword [ecx*4 + 0x58ce8c]
call eax
test bl, 8
mov esi, eax
je 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
lea ebx, [edx - 0x128]
mov eax, 0x58ce9c
jne 0x450d8b
mov eax, 0x58ceac
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, ebx
add ebp, 0x18
and edx, 3
mov edx, dword [eax + edx*4]
push ebp
push esi
call edx
test bl, 4
mov esi, eax
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov eax, fcn.0042eba0
jne 0x450dcb
mov eax, fcn.00425170
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp + 0x18]
push edx
push esi
call eax
cmp dword [ebp + 0xc], 0x131
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
lea ebx, [edx - 0x132]
mov eax, 0x58cebc
jne 0x450e0d
mov eax, 0x58cecc
mov edx, dword [ebp + 0x14]
push edx
add ebp, 0x18
mov ecx, ebx
and ecx, 3
mov eax, dword [eax + ecx*4]
push ebp
push esi
call eax
test bl, 4
mov esi, eax
je 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov eax, fcn.00425fb0
jne 0x450e4d
mov eax, fcn.00425fb0
mov edx, dword [ebp + 0x14]
push edx
lea ecx, [ebp + 0x18]
push ecx
push esi
call eax
cmp dword [ebp + 0xc], 0x13b
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
lea ebx, [edx - 0x13c]
mov eax, 0x58cedc
jne 0x450e0d
mov eax, 0x58ceec
jmp 0x450e0d
cmp dword [esp + 0x1b0], 0
mov eax, fcn.00430660
jne 0x450ea8
mov eax, fcn.00430660
mov edx, dword [ebp + 0x14]
push edx
lea ecx, [ebp + 0x18]
push ecx
push esi
call eax
cmp dword [ebp + 0xc], 0x145
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0x8a]
test bl, 1
je 0x450eff
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x450ef3
call fcn.0042be50
mov ecx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450f11
call fcn.0042be50
mov ecx, dword [edi + 8]
mov esi, dword [edi]
jmp 0x450f11
mov al, byte [esi + 4]
cmp al, 0xff
lea ecx, [esi + 5]
jne 0x450f0e
mov esi, dword [esi - 4]
jmp 0x450f11
movzx esi, al
mov edx, dword [ebp + 0x14]
cmp edx, esi
lea eax, [ebp + 0x18]
jg 0x450f4c
add edx, eax
sub ecx, eax
cmp eax, edx
mov esi, ecx
je 0x450f42
mov edi, dword [0x599db8]
jmp 0x450f30
movzx ecx, byte [esi + eax]
mov cl, byte [ecx + edi]
cmp cl, byte [eax]
jne 0x450f4c
add eax, 1
cmp eax, edx
jne 0x450f30
mov esi, 1
jmp 0x450909
xor esi, esi
jmp 0x450909
cmp dword [esp + 0x1b0], 0
je 0x450f68
xor eax, eax
cmp dword [esi], eax
sete al
mov esi, eax
jmp 0x450f71
xor ecx, ecx
cmp dword [esi], ecx
sete cl
mov esi, ecx
cmp edx, 0xad
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x450fa0
mov eax, dword [ebx]
push eax
call fcn.004307f0
jmp 0x450fa8
mov ecx, dword [ebx]
push ecx
call fcn.00427150
cmp dword [ebp + 0xc], 0xaf
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x450fda
mov eax, dword [ebx]
push eax
call fcn.004307f0
jmp 0x450fe2
mov ecx, dword [ebx]
push ecx
call fcn.00426ef0
cmp dword [ebp + 0xc], 0xb1
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x451014
mov eax, dword [ebx]
push eax
call fcn.004309f0
jmp 0x45101c
mov ecx, dword [ebx]
push ecx
call fcn.00427350
cmp dword [ebp + 0xc], 0xb3
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x45104e
mov eax, dword [ebx]
push eax
call fcn.00430c50
jmp 0x451056
mov ecx, dword [ebx]
push ecx
call fcn.004275b0
cmp dword [ebp + 0xc], 0xb5
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x451088
mov eax, dword [ebx]
push eax
call fcn.00430f30
jmp 0x451090
mov ecx, dword [ebx]
push ecx
call fcn.00427830
cmp dword [ebp + 0xc], 0xb7
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x4510c2
mov eax, dword [ebx]
push eax
call fcn.004311b0
jmp 0x4510ca
mov ecx, dword [ebx]
push ecx
call fcn.00427ab0
cmp dword [ebp + 0xc], 0xb9
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
je 0x4510fc
mov eax, dword [ebx]
push eax
call fcn.00431430
jmp 0x451104
mov ecx, dword [ebx]
push ecx
call fcn.00427db0
cmp dword [ebp + 0xc], 0xbb
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
je 0x45114b
mov eax, esi
mov esi, dword [esi]
test esi, esi
je 0x45113b
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x451133
cmp byte [eax + 4], 0xff
jne 0x451146
mov eax, dword [eax - 8]
jmp 0x451186
mov eax, dword [eax - 4]
jmp 0x451186
mov ecx, dword [esi]
test ecx, ecx
jne 0x451165
cmp byte [esi + 4], 0xff
jne 0x45115e
mov esi, dword [esi - 8]
mov eax, esi
jmp 0x451186
mov esi, dword [esi - 4]
mov eax, esi
jmp 0x451186
mov eax, dword [ecx]
test eax, eax
je 0x451178
jmp 0x451170
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x451170
cmp byte [ecx + 4], 0xff
jne 0x451183
mov eax, dword [ecx - 8]
jmp 0x451186
mov eax, dword [ecx - 4]
mov eax, dword [eax + 4]
mov ebp, dword [ebp + 0x14]
cmp eax, ebp
jb 0x451199
ja 0x451199
mov esi, 1
jmp 0x45119b
xor esi, esi
cmp edx, 0xbd
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov al, byte [esi + 4]
lea ebx, [edx - 0xbe]
je 0x451217
test bl, 1
je 0x451267
cmp al, 0xff
jne 0x4511da
mov eax, dword [esi - 4]
jmp 0x4511dd
movzx eax, al
push eax
lea ecx, [esi + 5]
push ecx
call fcn.00526f00
mov esi, dword [esi]
test esi, esi
mov edi, eax
je 0x451213
nop
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x4511fc
mov eax, dword [esi - 4]
jmp 0x4511ff
movzx eax, al
push eax
lea edx, [esi + 5]
push edx
call fcn.00526f00
mov esi, dword [esi]
test esi, esi
lea edi, [edi + eax + 1]
jne 0x4511f0
mov eax, edi
jmp 0x45127d
test bl, 1
je 0x451267
cmp al, 0xff
jne 0x451225
mov eax, dword [esi - 4]
jmp 0x451228
movzx eax, al
push eax
lea eax, [esi + 5]
push eax
call fcn.00526f00
mov esi, dword [esi]
test esi, esi
mov edi, eax
je 0x451263
lea ebx, [ebx]
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x45124c
mov eax, dword [esi - 4]
jmp 0x45124f
movzx eax, al
push eax
lea ecx, [esi + 5]
push ecx
call fcn.00526f00
mov esi, dword [esi]
test esi, esi
lea edi, [edi + eax + 1]
jne 0x451240
mov eax, edi
jmp 0x45127d
cmp al, 0xff
jne 0x451270
mov eax, dword [esi - 4]
jmp 0x451273
movzx eax, al
push eax
add esi, 5
push esi
call fcn.00526f00
cmp eax, dword [ebp + 0x14]
jl 0x450f4c
cmp eax, dword [ebp + 0x18]
jg 0x450f4c
mov esi, 1
jmp 0x450909
mov esi, dword [esp + 0x1bc]
jmp 0x452381
mov esi, dword [esi]
xor eax, eax
cmp dword [esp + 0x1b0], eax
je 0x4512c1
test esi, esi
je 0x4512ce
mov esi, dword [esi]
add eax, 1
test esi, esi
jne 0x4512b6
jmp 0x4512ce
test esi, esi
je 0x4512ce
mov esi, dword [esi]
add eax, 1
test esi, esi
jne 0x4512c5
cmp eax, dword [ebp + 0x14]
jl 0x4512df
cmp eax, dword [ebp + 0x18]
jg 0x4512df
mov esi, 1
jmp 0x4512e1
xor esi, esi
cmp edx, 0xc5
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
lea ecx, [esp + 0x90]
push ecx
call fcn.00523650
cmp dword [esp + 0x1b0], 0
push esi
je 0x451322
lea edx, [esp + 0x94]
push edx
call fcn.0042e380
jmp 0x45132f
lea eax, [esp + 0x94]
push eax
call fcn.0042e380
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x9c]
lea edx, [ebp + 0x1c]
push edx
mov edx, dword [ebp + 0x14]
push eax
push ecx
call edx
cmp dword [ebp + 0xc], 0x119
mov esi, eax
jne 0x451360
xor eax, eax
test esi, esi
sete al
mov esi, eax
lea ecx, [esp + 0x90]
push ecx
call fcn.00401210
jmp 0x452381
lea edx, [esp + 0x90]
push edx
call fcn.00523650
cmp dword [esp + 0x1b0], 0
push esi
je 0x451399
lea eax, [esp + 0x94]
push eax
call fcn.0042e380
jmp 0x4513a6
lea ecx, [esp + 0x94]
push ecx
call fcn.0042e380
mov edx, dword [ebp + 0x18]
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x9c]
lea eax, [ebp + 0x20]
push eax
mov eax, dword [ebp + 0x14]
push ecx
push edx
call eax
cmp dword [ebp + 0xc], 0x11b
mov esi, eax
jne 0x4513d7
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
lea edx, [esp + 0x90]
push edx
call fcn.00401210
jmp 0x452381
lea eax, [esp + 0x90]
push eax
call fcn.00523650
cmp dword [esp + 0x1b0], 0
push esi
je 0x451410
lea ecx, [esp + 0x94]
push ecx
call fcn.0042e380
jmp 0x45141d
lea edx, [esp + 0x94]
push edx
call fcn.0042e380
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x94]
lea edx, [ebp + ecx*4 + 0x20]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [ebp + 0x18]
push eax
push ecx
call edx
cmp dword [ebp + 0xc], 0x11d
jmp 0x451353
mov ebx, dword [ebx]
push esi
push ebx
call fcn.00454fc0
test eax, eax
je 0x45145e
mov edx, dword [eax]
mov eax, dword [edx + 8]
jmp 0x451460
xor eax, eax
cmp eax, dword [ebp + 0x14]
jb 0x451471
cmp eax, dword [ebp + 0x18]
ja 0x451471
mov esi, 1
jmp 0x451473
xor esi, esi
cmp dword [ebp + 0xc], 0x149
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
mov ebx, dword [ebx]
push esi
push ebx
call fcn.00454fc0
test eax, eax
je 0x4514a4
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x4514a8
xor ecx, ecx
xor eax, eax
cmp eax, dword [ebp + 0x1c]
jb 0x4514c7
ja 0x4514b4
cmp ecx, dword [ebp + 0x18]
jb 0x4514c7
cmp eax, dword [ebp + 0x24]
ja 0x4514c7
jb 0x4514c0
cmp ecx, dword [ebp + 0x20]
ja 0x4514c7
mov esi, 1
jmp 0x4514c9
xor esi, esi
cmp dword [ebp + 0xc], 0x14b
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
mov eax, dword [ebx + 0x44]
add eax, dword [ebx + 0x2c]
cmp eax, dword [ebp + 0x14]
sbb esi, esi
neg esi
cmp edx, 0x14f
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push ebp
push esi
je 0x45151e
call fcn.00432350
jmp 0x451523
call fcn.00428e60
cmp dword [ebp + 0xc], 0x151
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
push esi
push ebx
call fcn.00424bf0
cmp edx, dword [ebp + 0x1c]
jb 0x451566
ja 0x451553
cmp eax, dword [ebp + 0x18]
jb 0x451566
cmp edx, dword [ebp + 0x24]
ja 0x451566
jb 0x45155f
cmp eax, dword [ebp + 0x20]
ja 0x451566
mov esi, 1
jmp 0x451568
xor esi, esi
cmp dword [ebp + 0xc], 0xc7
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x451593
mov ecx, dword [esi - 4]
lea esi, [ecx + esi + 5]
jmp 0x45159a
movzx eax, al
lea esi, [eax + esi + 5]
mov eax, dword [esi]
mov esi, dword [esi + 4]
cmp esi, dword [ebp + 0x1c]
jb 0x4515be
ja 0x4515ab
cmp eax, dword [ebp + 0x18]
jb 0x4515be
cmp esi, dword [ebp + 0x24]
ja 0x4515be
jb 0x4515b7
cmp eax, dword [ebp + 0x20]
ja 0x4515be
mov esi, 1
jmp 0x4515c0
xor esi, esi
cmp edx, 0xc9
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov al, byte [esi + 4]
je 0x45160d
cmp al, 0xff
jne 0x4515fc
mov eax, dword [esi - 4]
lea esi, [eax + esi + 5]
mov eax, dword [ebx]
mov eax, dword [eax + 0x364]
jmp 0x451629
movzx ecx, al
mov eax, dword [ebx]
mov eax, dword [eax + 0x364]
lea esi, [ecx + esi + 5]
jmp 0x451629
cmp al, 0xff
jne 0x45161a
mov ecx, dword [esi - 4]
lea esi, [ecx + esi + 5]
jmp 0x451621
movzx eax, al
lea esi, [eax + esi + 5]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x360]
mov ecx, dword [esi + eax]
mov eax, dword [esi + eax + 4]
cmp eax, dword [ebp + 0x1c]
jb 0x45164f
ja 0x45163c
cmp ecx, dword [ebp + 0x18]
jb 0x45164f
cmp eax, dword [ebp + 0x24]
ja 0x45164f
jb 0x451648
cmp ecx, dword [ebp + 0x20]
ja 0x45164f
mov esi, 1
jmp 0x451651
xor esi, esi
cmp edx, 0xcb
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov al, byte [esi + 4]
je 0x45169e
cmp al, 0xff
jne 0x45168d
mov eax, dword [esi - 4]
lea esi, [eax + esi + 5]
mov eax, dword [ebx]
mov eax, dword [eax + 0x35c]
jmp 0x4516ba
movzx ecx, al
mov eax, dword [ebx]
mov eax, dword [eax + 0x35c]
lea esi, [ecx + esi + 5]
jmp 0x4516ba
cmp al, 0xff
jne 0x4516ab
mov ecx, dword [esi - 4]
lea esi, [ecx + esi + 5]
jmp 0x4516b2
movzx eax, al
lea esi, [eax + esi + 5]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x358]
mov ecx, dword [esi + eax]
mov eax, dword [esi + eax + 4]
cmp eax, dword [ebp + 0x1c]
jb 0x4516e0
ja 0x4516cd
cmp ecx, dword [ebp + 0x18]
jb 0x4516e0
cmp eax, dword [ebp + 0x24]
ja 0x4516e0
jb 0x4516d9
cmp ecx, dword [ebp + 0x20]
ja 0x4516e0
mov esi, 1
jmp 0x4516e2
xor esi, esi
cmp edx, 0xcd
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov al, byte [esi + 4]
je 0x45172f
cmp al, 0xff
jne 0x45171e
mov eax, dword [esi - 4]
lea esi, [eax + esi + 5]
mov eax, dword [ebx]
mov eax, dword [eax + 0x36c]
jmp 0x45174b
movzx ecx, al
mov eax, dword [ebx]
mov eax, dword [eax + 0x36c]
lea esi, [ecx + esi + 5]
jmp 0x45174b
cmp al, 0xff
jne 0x45173c
mov ecx, dword [esi - 4]
lea esi, [ecx + esi + 5]
jmp 0x451743
movzx eax, al
lea esi, [eax + esi + 5]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x368]
mov ecx, dword [esi + eax]
mov eax, dword [esi + eax + 4]
cmp eax, dword [ebp + 0x1c]
jb 0x451771
ja 0x45175e
cmp ecx, dword [ebp + 0x18]
jb 0x451771
cmp eax, dword [ebp + 0x24]
ja 0x451771
jb 0x45176a
cmp ecx, dword [ebp + 0x20]
ja 0x451771
mov esi, 1
jmp 0x451773
xor esi, esi
cmp edx, 0xcf
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
mov al, byte [esi + 4]
je 0x4517c0
cmp al, 0xff
jne 0x4517af
mov eax, dword [esi - 4]
lea esi, [eax + esi + 5]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x374]
jmp 0x4517dc
movzx ecx, al
mov eax, dword [ebx]
lea esi, [ecx + esi + 5]
mov ecx, dword [eax + 0x374]
jmp 0x4517dc
cmp al, 0xff
jne 0x4517cd
mov eax, dword [esi - 4]
lea esi, [eax + esi + 5]
jmp 0x4517d4
movzx ecx, al
lea esi, [ecx + esi + 5]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x370]
mov eax, dword [esi + ecx]
mov ebp, dword [ebp + 0x14]
mov ecx, ebp
and ecx, eax
xor eax, eax
cmp ecx, ebp
sete al
cmp edx, 0xd1
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x45181c
call fcn.0042dd20
jmp 0x451821
call fcn.00424c50
mov ecx, dword [ebp + 0x14]
mov edx, ecx
and edx, eax
xor eax, eax
cmp edx, ecx
sete al
cmp dword [ebp + 0xc], 0xd3
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x45185f
call fcn.0042dde0
jmp 0x451864
call fcn.00424d10
cmp edx, dword [ebp + 0x1c]
jb 0x451883
ja 0x451870
cmp eax, dword [ebp + 0x18]
jb 0x451883
cmp edx, dword [ebp + 0x24]
ja 0x451883
jb 0x45187c
cmp eax, dword [ebp + 0x20]
ja 0x451883
mov esi, 1
jmp 0x451885
xor esi, esi
cmp dword [ebp + 0xc], 0xd5
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x4518c0
call fcn.0042dde0
push esi
push ebx
mov edi, eax
mov dword [esp + 0x34], edx
call fcn.0042de40
jmp 0x4518d2
call fcn.00424d10
push esi
push ebx
mov edi, eax
mov dword [esp + 0x34], edx
call fcn.00424da0
cmp edi, eax
jne 0x4518e3
cmp dword [esp + 0x2c], edx
jne 0x4518e3
mov esi, 1
jmp 0x4518e5
xor esi, esi
cmp dword [ebp + 0xc], 0xd7
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x451920
call fcn.0042dde0
push esi
push ebx
mov dword [esp + 0x30], eax
mov edi, edx
call fcn.0042de40
jmp 0x451932
call fcn.00424d10
push esi
push ebx
mov dword [esp + 0x30], eax
mov edi, edx
call fcn.00424da0
cmp edi, edx
jb 0x451945
ja 0x45193e
cmp dword [esp + 0x28], eax
jb 0x451945
mov esi, 1
jmp 0x451947
xor esi, esi
cmp dword [ebp + 0xc], 0xd9
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x451982
call fcn.0042dde0
push esi
push ebx
mov dword [esp + 0x30], eax
mov edi, edx
call fcn.0042de40
jmp 0x451994
call fcn.00424d10
push esi
push ebx
mov dword [esp + 0x30], eax
mov edi, edx
call fcn.00424da0
cmp edi, edx
jb 0x4519a7
ja 0x4519a0
cmp dword [esp + 0x28], eax
jbe 0x4519a7
mov esi, 1
jmp 0x4519a9
xor esi, esi
cmp dword [ebp + 0xc], 0xdb
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x4519d7
call fcn.0042dd80
jmp 0x4519dc
call fcn.00424cb0
cmp edx, dword [ebp + 0x1c]
jb 0x4519fb
ja 0x4519e8
cmp eax, dword [ebp + 0x18]
jb 0x4519fb
cmp edx, dword [ebp + 0x24]
ja 0x4519fb
jb 0x4519f4
cmp eax, dword [ebp + 0x20]
ja 0x4519fb
mov esi, 1
jmp 0x4519fd
xor esi, esi
cmp dword [ebp + 0xc], 0x14d
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x451a2b
call fcn.00424d70
jmp 0x451a30
call fcn.00424d70
cmp edx, dword [ebp + 0x1c]
jb 0x451a4f
ja 0x451a3c
cmp eax, dword [ebp + 0x18]
jb 0x451a4f
cmp edx, dword [ebp + 0x24]
ja 0x451a4f
jb 0x451a48
cmp eax, dword [ebp + 0x20]
ja 0x451a4f
mov esi, 1
jmp 0x451a51
xor esi, esi
cmp dword [ebp + 0xc], 0x147
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push ebx
je 0x451a7f
call fcn.0042de40
jmp 0x451a84
call fcn.00424da0
cmp edx, dword [ebp + 0x1c]
jb 0x451aa3
ja 0x451a90
cmp eax, dword [ebp + 0x18]
jb 0x451aa3
cmp edx, dword [ebp + 0x24]
ja 0x451aa3
jb 0x451a9c
cmp eax, dword [ebp + 0x20]
ja 0x451aa3
mov esi, 1
jmp 0x451aa5
xor esi, esi
cmp dword [ebp + 0xc], 0xdd
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
push esi
push ebx
call fcn.00424e00
mov esi, eax
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp + 0x24]
push ecx
push esi
call fcn.004036f0
mov edx, dword [ebp + 0x14]
push eax
push esi
call edx
cmp dword [ebp + 0xc], 0xdf
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
mov esi, 1
jmp 0x452381
mov ecx, dword [ebx]
push esi
push ecx
call fcn.00428d30
mov edx, dword [ebp + 0x20]
mov esi, eax
push edx
lea eax, [ebp + 0x24]
push eax
push esi
call fcn.004036f0
mov ecx, dword [ebp + 0x14]
push eax
push esi
call ecx
cmp dword [ebp + 0xc], 0xe1
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
lea ebx, [edx - 0xe2]
test bl, 1
je 0x451b67
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x451b60
call fcn.0042e2d0
jmp 0x451b81
call fcn.0042e2d0
jmp 0x451b81
mov al, byte [esi + 4]
cmp al, 0xff
jne 0x451b73
mov eax, dword [esi - 4]
jmp 0x451b76
movzx eax, al
push eax
add esi, 5
push esi
push edi
call fcn.00523f80
mov edx, dword [edi + 8]
mov eax, dword [edi]
push 0x80
lea ecx, [esp + 0x44]
push ecx
push 0xa
push edx
add ebp, 0x14
push ebp
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], eax
call fcn.00547e30
mov esi, eax
neg esi
sbb esi, esi
add esi, 1
test bl, 2
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.004287a0
cmp dword [ebp + 0xc], 0x153
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.00428820
cmp dword [ebp + 0xc], 0x155
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.00428910
cmp dword [ebp + 0xc], 0x157
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.00428a90
cmp dword [ebp + 0xc], 0x159
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.00428a10
cmp dword [ebp + 0xc], 0x15b
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042a670
cmp dword [ebp + 0xc], 0x15d
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042a7e0
cmp dword [ebp + 0xc], 0x15f
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.00428d80
cmp dword [ebp + 0xc], 0x16d
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042a930
cmp dword [ebp + 0xc], 0x161
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042aa80
cmp dword [ebp + 0xc], 0x163
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042ab90
cmp dword [ebp + 0xc], 0x165
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042aca0
cmp dword [ebp + 0xc], 0x167
mov esi, eax
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042adb0
cmp dword [ebp + 0xc], 0x169
mov esi, eax
jne 0x452381
xor ecx, ecx
test esi, esi
sete cl
mov esi, ecx
jmp 0x452381
cmp dword [esp + 0x1c0], 0
jne case.0x44f4ae.0
cmp dword [esp + 0x1bc], 0
jne case.0x44f4ae.0
push ebp
push esi
call fcn.0042aec0
cmp dword [ebp + 0xc], 0x16b
mov esi, eax
jne 0x452381
xor edx, edx
test esi, esi
sete dl
mov esi, edx
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0xe6]
push edi
je 0x451f61
call fcn.0042be50
jmp 0x451f66
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp + edx*8 + 0x1c]
mov edx, dword [edi]
push ecx
mov ecx, dword [edi + 8]
mov eax, ebx
push edx
and eax, 3
mov edx, dword [eax*4 + 0x58cefc]
push ecx
call edx
test bl, 4
mov esi, eax
je 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x451fb3
call fcn.0042be50
jmp 0x451fb8
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edi]
mov edx, dword [ebp + 0x14]
lea eax, [ebp + edx*8 + 0x1c]
jg 0x451ff0
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x451fe9
mov esi, dword [0x599db8]
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x451ff0
add eax, 1
cmp eax, ecx
jne 0x451fd7
mov esi, 1
jmp 0x451ff2
xor esi, esi
cmp dword [ebp + 0xc], 0xef
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0xf0]
push edi
je 0x452026
call fcn.0042be50
jmp 0x45202b
call fcn.0042be50
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
lea edx, [ebp + eax*4 + 0x1c]
mov eax, dword [edi]
push edx
mov edx, dword [edi + 8]
mov ecx, ebx
push eax
and ecx, 3
mov eax, dword [ecx*4 + 0x58cf0c]
push edx
call eax
jmp 0x450e20
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x452064
call fcn.0042be50
jmp 0x452069
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edi]
mov edx, dword [ebp + 0x14]
lea eax, [ebp + edx*4 + 0x1c]
jg 0x4520a9
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x4520a2
mov esi, dword [0x599db8]
jmp 0x452090
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x4520a9
add eax, 1
cmp eax, ecx
jne 0x452090
mov esi, 1
jmp 0x4520ab
xor esi, esi
cmp dword [ebp + 0xc], 0xf9
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0xfa]
push edi
je 0x4520df
call fcn.0042be50
jmp 0x4520e4
call fcn.0042be50
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
lea edx, [ebp + eax*4 + 0x1c]
mov eax, dword [edi]
push edx
mov edx, dword [edi + 8]
mov ecx, ebx
push eax
and ecx, 3
mov eax, dword [ecx*4 + 0x58cf1c]
push edx
call eax
jmp 0x450e20
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x45211d
call fcn.0042be50
jmp 0x452122
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edi]
mov edx, dword [ebp + 0x14]
lea eax, [ebp + edx*4 + 0x1c]
jg 0x45215a
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x452153
mov esi, dword [0x599db8]
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x45215a
add eax, 1
cmp eax, ecx
jne 0x452141
mov esi, 1
jmp 0x45215c
xor esi, esi
cmp dword [ebp + 0xc], 0x103
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0x104]
push edi
je 0x452190
call fcn.0042be50
jmp 0x452195
call fcn.0042be50
mov edx, dword [ebp + 0x18]
mov eax, dword [edi]
push edx
mov edx, dword [edi + 8]
add ebp, 0x1c
push ebp
mov ecx, ebx
push eax
and ecx, 3
mov eax, dword [ecx*4 + 0x58cf2c]
push edx
call eax
jmp 0x450e20
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x4521ca
call fcn.0042be50
jmp 0x4521cf
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edi]
lea eax, [ebp + 0x1c]
jg 0x452209
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x452202
mov esi, dword [0x599db8]
lea ebx, [ebx]
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x452209
add eax, 1
cmp eax, ecx
jne 0x4521f0
mov esi, 1
jmp 0x45220b
xor esi, esi
cmp dword [ebp + 0xc], 0x10d
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0x10e]
push edi
je 0x45223f
call fcn.0042be50
jmp 0x452244
call fcn.0042be50
mov edx, dword [ebp + 0x18]
mov eax, dword [edi]
push edx
mov edx, dword [edi + 8]
add ebp, 0x1c
push ebp
mov ecx, ebx
push eax
and ecx, 3
mov eax, dword [ecx*4 + 0x58cf3c]
push edx
call eax
jmp 0x450e20
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x452279
call fcn.0042be50
jmp 0x45227e
call fcn.0042be50
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [edi]
lea eax, [ebp + 0x1c]
jg 0x4522b9
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x4522b2
mov esi, dword [0x599db8]
lea esp, [esp]
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x4522b9
add eax, 1
cmp eax, ecx
jne 0x4522a0
mov esi, 1
jmp 0x4522bb
xor esi, esi
cmp dword [ebp + 0xc], 0x117
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
cmp dword [esp + 0x1b0], 0
push esi
lea ebx, [edx - 0x11e]
push edi
je 0x4522ef
call fcn.0042be50
jmp 0x4522f4
call fcn.0042be50
mov edx, dword [ebp + 0x14]
mov eax, dword [edi]
push edx
mov edx, dword [edi + 8]
add ebp, 0x18
push ebp
mov ecx, ebx
push eax
and ecx, 3
mov eax, dword [ecx*4 + 0x58cf4c]
push edx
call eax
jmp 0x450e20
cmp dword [esp + 0x1b0], 0
push esi
push edi
je 0x452329
call fcn.0042be50
jmp 0x45232e
call fcn.0042be50
mov ecx, dword [ebp + 0x14]
cmp ecx, dword [edi]
lea eax, [ebp + 0x18]
jg 0x452369
mov edi, dword [edi + 8]
add ecx, eax
sub edi, eax
cmp eax, ecx
je 0x452362
mov esi, dword [0x599db8]
lea esp, [esp]
movzx edx, byte [edi + eax]
mov dl, byte [edx + esi]
cmp dl, byte [eax]
jne 0x452369
add eax, 1
cmp eax, ecx
jne 0x452350
mov esi, 1
jmp 0x45236b
xor esi, esi
cmp dword [ebp + 0xc], 0x127
jne 0x452381
xor eax, eax
test esi, esi
sete al
mov esi, eax
jmp 0x452381
xor esi, esi
mov ecx, dword [esp + 0x1a0]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005498fd
add esp, 0x194
ret 0x1c