Function at 0x45f5ec
Capabilities:
Authenticate hmac
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffde0
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x18], eax
xor edx, edx
mov dword [ebp - 0x1c], edx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
xor ecx, ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
xor eax, eax
mov edx, dword [ebp - 8]
mov esi, dword [edx]
xor edx, edx
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0xc]
xor edx, edx
mov eax, dword [ecx]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x74], ecx
xor eax, eax
mov dword [ebp - 0x78], eax
test byte [ebp - 0x47], 8
setne dl
and edx, 1
mov dword [ebp - 0x80], edx
mov edx, 0xfffffffe
test byte [ebp - 0x47], 2
setne cl
and ecx, 1
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
xor eax, 1
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
test byte [ebp - 0x48], 1
je 0x45f692
mov eax, pe_nt_image_headers32
jmp 0x45f694
xor eax, eax
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp + 8]
test eax, eax
movzx edi, byte [edx]
je 0x45f741
mov edx, dword [ebx + 0x10]
add edx, 0x1000
cmp esi, edx
jbe 0x45f6c3
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x34
jmp 0x463504
mov eax, dword [ebp - 0x54]
cmp esi, eax
jae 0x45f6cd
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp + 8]
mov edx, 0x7fffffeb
mov ecx, dword [eax]
mov eax, esi
sub edx, ecx
mov ecx, dword [ebp - 0x54]
sub eax, ecx
cmp edx, eax
jge 0x45f6f2
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x14
jmp 0x463504
mov eax, esi
mov edx, dword [ebp - 0x54]
sub eax, edx
mov ecx, dword [ebp + 8]
add dword [ecx], eax
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x45f739
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x58]
cmp edx, ecx
jbe 0x45f73c
mov eax, esi
mov edx, dword [ebp - 0x70]
sub eax, edx
push eax
mov ecx, dword [ebp - 0x70]
push ecx
mov eax, dword [ebp - 0x58]
push eax
call fcn.0045d620
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x58]
sub edx, ecx
add esp, 0xc
mov eax, dword [ebp - 0x58]
sub esi, edx
mov dword [ebp - 0x70], eax
jmp 0x45f73c
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x54], esi
jmp 0x45f75e
mov eax, dword [ebx + 0x10]
add eax, 0x1000
mov edx, dword [ebx + 0x20]
cmp eax, edx
jae 0x45f75e
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x34
jmp 0x463504
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x45f7c6
test edi, edi
je 0x45f7c6
cmp edi, 0x5c
jne 0x45f786
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x45
jne 0x45f786
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x68]
jmp 0x4634fc
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x45f7a6
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x45f7a1
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
call fcn.0045ea60
xor eax, eax
mov dword [ebp - 0x74], eax
test byte [ebp - 0x47], 0x40
je 0x4633c5
mov dword [ebp - 0x74], esi
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, esi
call fcn.0045ea34
mov esi, eax
jmp 0x4633c5
cmp edi, 0x2a
je 0x45f7eb
cmp edi, 0x2b
je 0x45f7eb
cmp edi, 0x3f
je 0x45f7eb
cmp edi, 0x7b
jne 0x45f7e7
mov eax, dword [ebp - 0x68]
inc eax
call fcn.0045dc4c
test eax, eax
jne 0x45f7eb
xor edx, edx
jmp 0x45f7f0
mov edx, 1
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
jne 0x45f82b
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x45f82b
mov edx, dword [ebp - 0x4c]
add dword [ebp - 0x4c], 0xffffffff
test edx, edx
jg 0x45f82b
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x45f826
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
call fcn.0045ea60
xor eax, eax
mov dword [ebp - 0x74], eax
test byte [ebp - 0x48], 8
je 0x45f8e6
mov edx, dword [ebx + 0xc]
test byte [edx + edi], 1
jne 0x4634fc
cmp edi, 0x23
jne 0x45f8e6
jmp 0x45f8c7
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x45f883
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0x68]
cmp eax, edx
jbe 0x45f878
lea ecx, [ebx + 0x54]
push ecx
mov eax, dword [ebp - 0x80]
push eax
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x50]
mov eax, dword [ebp - 0x68]
call fcn.0046e084
test eax, eax
jne 0x45f87c
xor edx, edx
jmp 0x45f8ba
mov edx, 1
jmp 0x45f8ba
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x54]
sub ecx, eax
mov edx, dword [ebp - 0x68]
cmp ecx, edx
jb 0x45f8b1
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
mov dl, byte [ebx + 0x58]
cmp al, dl
jne 0x45f8b1
mov ecx, dword [ebx + 0x54]
dec ecx
je 0x45f8b5
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
mov cl, byte [ebx + 0x59]
cmp dl, cl
je 0x45f8b5
xor edx, edx
jmp 0x45f8ba
mov edx, 1
test edx, edx
je 0x45f8c7
mov eax, dword [ebx + 0x54]
dec eax
add dword [ebp - 0x68], eax
jmp 0x45f8d7
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
test al, al
jne 0x45f84d
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
test cl, cl
jne 0x4634fc
xor edi, edi
test byte [ebp - 0x47], 0x40
je 0x45f907
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x45f907
mov dword [ebp - 0x74], esi
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, esi
call fcn.0045ea34
mov esi, eax
mov edx, edi
cmp edx, 0x3f
jg 0x45f955
je 0x461034
cmp edx, 0x29
jg 0x45f937
je 0x45f98d
sub edx, 1
jb 0x45f98d
sub edx, 0x23
je 0x45fa0d
sub edx, 4
je 0x461d58
jmp 0x4633c5
sub edx, 0x2a
je 0x461016
dec edx
je 0x461024
sub edx, 3
je 0x45fa1b
jmp 0x4633c5
cmp edx, 0x5e
jg 0x45f97c
je 0x45f9ea
sub edx, 0x5b
je 0x45fa65
dec edx
je 0x46304e
dec edx
je 0x45fa4d
jmp 0x4633c5
sub edx, 0x7b
je 0x460fe3
dec edx
je 0x45f98d
jmp 0x4633c5
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x30]
mov dword [edx], ecx
mov eax, dword [ebp - 8]
mov dword [eax], esi
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x68]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x45f9e0
mov edx, dword [ebp + 8]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
mov edx, esi
sub ecx, eax
mov eax, dword [ebp - 0x54]
sub edx, eax
cmp ecx, edx
jge 0x45f9d6
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x14
jmp 0x463504
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
sub esi, ecx
add dword [eax], esi
mov eax, 1
jmp 0x46350e
test byte [ebp - 0x48], 2
je 0x45f9ff
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x45f9ff
mov dword [ebp - 0x2c], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov byte [esi], 0x1a
inc esi
jmp 0x4634fc
xor eax, eax
mov dword [ebp - 0x70], eax
mov byte [esi], 0x1b
inc esi
jmp 0x4634fc
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x45fa2a
mov dword [ebp - 0x2c], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x70], esi
test byte [ebp - 0x48], 4
je 0x45fa43
mov dl, 0xd
jmp 0x45fa45
mov dl, 0xc
mov byte [esi], dl
inc esi
jmp 0x4634fc
test byte [ebx + 0x43], 2
je 0x4633c5
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x40
jmp 0x463504
mov dword [ebp - 0x70], esi
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3a
je 0x45fa88
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x2e
je 0x45fa88
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x3d
jne 0x45fab7
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
call fcn.0045e8ec
test eax, eax
je 0x45fab7
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3a
jne 0x45faa8
mov edx, 0xd
jmp 0x45faad
mov edx, 0x1f
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
jmp 0x463504
xor ecx, ecx
mov dword [ebp - 0x94], ecx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
movzx edi, byte [eax]
cmp edi, 0x5c
jne 0x45fafb
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x45
jne 0x45fadd
inc dword [ebp - 0x68]
jmp 0x45fabf
push 3
push 0x476ad1
mov ecx, dword [ebp - 0x68]
inc ecx
push ecx
call fcn.0045d630
add esp, 0xc
test eax, eax
jne 0x45fb16
add dword [ebp - 0x68], 3
jmp 0x45fabf
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x45fb16
cmp edi, 0x5e
jne 0x45fb16
mov dword [ebp - 0x94], 1
jmp 0x45fabf
cmp edi, 0x5d
jne 0x45fb4e
test byte [ebx + 0x43], 2
je 0x45fb4e
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x45fb2f
mov cl, 0xd
jmp 0x45fb31
mov cl, 0x6d
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x45fb43
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
jmp 0x4634fc
xor eax, eax
xor edx, edx
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xb0], 0xffffffff
push 0x20
lea ecx, [ebp - 0x1fc]
push 0
push ecx
call fcn.0045d628
xor eax, eax
lea edx, [esi + 4]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x84], edx
mov ecx, dword [ebp - 0x84]
add esp, 0xc
test edi, edi
mov dword [ebp - 0x88], ecx
je 0x460dd0
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x45fc67
cmp edi, 0x7f
jle 0x45fc67
mov edx, dword [ebp - 0x68]
movzx edi, byte [edx]
cmp edi, 0xc0
jl 0x45fc67
mov eax, edi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x476f3c]
mov dword [ebp - 0xe4], edx
mov ecx, dword [ebp - 0xe4]
add ecx, ecx
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xe8], ecx
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xe4]
mov edx, dword [eax*4 + 0x476b80]
and edi, edx
shl edi, cl
mov dword [ebp - 0xe0], 1
mov eax, dword [ebp - 0x68]
lea edx, [eax + 1]
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xe4]
cmp ecx, eax
jg 0x45fc5e
sub dword [ebp - 0xe8], 6
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x1d8]
xor eax, eax
mov al, byte [edx]
and eax, 0x3f
shl eax, cl
or edi, eax
inc dword [ebp - 0xe0]
inc dword [ebp - 0x1d8]
mov edx, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
cmp edx, ecx
jle 0x45fc24
mov eax, dword [ebp - 0xe4]
add dword [ebp - 0x68], eax
mov edx, dword [ebp + 8]
test edx, edx
je 0x45fc8d
mov ecx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
sub ecx, eax
mov edx, dword [ebp + 8]
add dword [edx], ecx
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x45fcb9
cmp edi, 0x5c
jne 0x4607eb
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x45
jne 0x4607eb
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x68]
jmp 0x460daf
cmp edi, 0x5b
jne 0x45ff61
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x3a
je 0x45fce6
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x2e
je 0x45fce6
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3d
jne 0x45ff61
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
call fcn.0045e8ec
test eax, eax
je 0x45ff61
xor edx, edx
mov dword [ebp - 0xec], edx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x3a
je 0x45fd23
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1f
jmp 0x463504
add dword [ebp - 0x68], 2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5e
jne 0x45fd48
mov dword [ebp - 0xec], 1
mov dword [ebp - 0x98], 1
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
sub edx, eax
mov eax, dword [ebp - 0x68]
call fcn.0045e930
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
test edx, edx
jge 0x45fd76
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1e
jmp 0x463504
test byte [ebp - 0x48], 1
je 0x45fd8f
mov eax, dword [ebp - 0xf0]
cmp eax, 2
jg 0x45fd8f
xor edx, edx
mov dword [ebp - 0xf0], edx
mov ecx, dword [ebp - 0xf0]
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0xf0], ecx
push 0x20
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax*4 + 0x475f78]
mov ecx, dword [ebp - 0xfc]
add edx, ecx
push edx
lea eax, [ebp - 0x21c]
push eax
call fcn.0045d618
add esp, 0xc
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edx*4 + 0x475f7c]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax*4 + 0x475f80]
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0xf4]
test ecx, ecx
jl 0x45fe91
mov eax, dword [ebp - 0xf8]
test eax, eax
jl 0x45fe4a
xor edi, edi
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
lea eax, [edx + ecx]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x1d8]
mov eax, dword [ebp - 0x1dc]
inc edi
mov cl, byte [edx]
or byte [eax], cl
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1d8]
cmp edi, 0x20
jl 0x45fe26
jmp 0x45fe91
xor edi, edi
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
lea eax, [edx + ecx]
mov dword [ebp - 0x1dc], eax
mov edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x1d8]
inc edi
mov cl, byte [edx]
not cl
and byte [eax], cl
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1dc]
cmp edi, 0x20
jl 0x45fe6d
mov edx, dword [ebp - 0xf8]
test edx, edx
jge 0x45fea1
neg dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
dec ecx
jne 0x45feb3
and byte [ebp - 0x21b], 0xc3
jmp 0x45fec5
mov eax, dword [ebp - 0xf8]
cmp eax, 2
jne 0x45fec5
and byte [ebp - 0x211], 0x7f
mov edx, dword [ebp - 0xec]
test edx, edx
je 0x45ff0f
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1dc], eax
lea edx, [ebp - 0x21c]
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1dc]
inc edi
mov al, byte [ecx]
not al
or byte [edx], al
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1d8]
cmp edi, 0x20
jl 0x45fee9
jmp 0x45ff4b
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
lea edx, [ebp - 0x21c]
mov dword [ebp - 0x1dc], edx
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1d8]
inc edi
mov al, byte [ecx]
or byte [edx], al
inc dword [ebp - 0x1d8]
inc dword [ebp - 0x1dc]
cmp edi, 0x20
jl 0x45ff29
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0xac], 0xa
jmp 0x460daf
cmp edi, 0x5c
jne 0x4607eb
mov eax, dword [ebp - 0x48]
push eax
push 1
lea eax, [ebp - 0x68]
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebp + 0x1c]
call fcn.0045d748
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x463504
mov ecx, edi
neg ecx
cmp ecx, 5
jne 0x45ff9d
mov edi, 8
jmp 0x45fffe
mov eax, edi
neg eax
cmp eax, 0x16
jne 0x45ffad
mov edi, 0x58
jmp 0x45fffe
mov eax, edi
neg eax
cmp eax, 0x11
jne 0x45ffbd
mov edi, 0x52
jmp 0x45fffe
mov eax, edi
neg eax
cmp eax, 0x1a
jne 0x45fff1
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x5c
jne 0x45ffe5
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 2]
cmp dl, 0x45
jne 0x45ffe5
add dword [ebp - 0x68], 2
jmp 0x460daf
mov dword [ebp - 0x60], 1
jmp 0x460daf
mov ecx, edi
neg ecx
cmp ecx, 0x19
je 0x460daf
test edi, edi
jge 0x4607eb
mov eax, dword [ebx + 8]
mov dword [ebp - 0x100], eax
add dword [ebp - 0xac], 2
mov edx, dword [ebp + 8]
test edx, edx
jne 0x46021e
mov ecx, edi
neg ecx
add ecx, 0xfffffffa
cmp ecx, 5
ja 0x460254
jmp dword [ecx*4 + 0x462038]
cmp edi, 0xfffffff9
je 0x460daf
cmp edi, 0xfffffffa
je 0x460daf
cmp edi, 0xfffffff5
je 0x460daf
cmp edi, 0xfffffff6
je 0x460daf
cmp edi, 0xfffffff7
je 0x460daf
cmp edi, 0xfffffff8
je 0x460daf
mov eax, edi
neg eax
cmp eax, 0x13
jne 0x460381
or byte [ebp - 0x1fb], 2
or byte [ebp - 0x1f8], 1
or byte [ebp - 0x1e8], 1
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x460daf
mov dword [ebp - 0x7c], 1
mov ecx, dword [ebp - 0x84]
mov eax, 0x1680
mov byte [ecx], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x180e
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2000
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x200a
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x202f
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x205f
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x3000
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov ecx, edi
neg ecx
cmp ecx, 0x12
jne 0x46059e
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x104], 0xff
mov edx, edi
dec edx
je 0x4603b7
sub edx, 3
je 0x4603c0
sub edx, 0x10
je 0x4603c9
jmp 0x4603d0
xor dword [ebp - 0x104], 2
jmp 0x4603d0
xor dword [ebp - 0x104], 1
jmp 0x4603d0
xor dword [ebp - 0x104], 1
mov cl, byte [ebp - 0x104]
mov eax, dword [ebp - 0x1d8]
or byte [eax], cl
inc edi
inc dword [ebp - 0x1d8]
cmp edi, 0x20
jl 0x46039c
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x460daf
mov dword [ebp - 0x7c], 1
mov ecx, dword [ebp - 0x84]
mov eax, pe_nt_image_headers32
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x167f
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x1681
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x180d
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x180f
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x1fff
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x200b
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x202e
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2030
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x205e
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2060
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2fff
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x3001
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov ecx, edi
neg ecx
cmp ecx, 0x15
jne 0x46061c
or byte [ebp - 0x1fb], 4
or byte [ebp - 0x1fb], 8
or byte [ebp - 0x1fb], 0x10
or byte [ebp - 0x1fb], 0x20
or byte [ebp - 0x1ec], 0x20
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x460daf
mov dword [ebp - 0x7c], 1
mov edx, dword [ebp - 0x84]
mov eax, 0x2028
mov byte [edx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2029
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov ecx, edi
neg ecx
cmp ecx, 0x14
jne 0x460719
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x108], 0xff
mov edx, edi
dec edx
je 0x46064d
sub edx, 0xf
je 0x46066b
jmp 0x460672
xor dword [ebp - 0x108], 4
xor dword [ebp - 0x108], 8
xor dword [ebp - 0x108], 0x10
xor dword [ebp - 0x108], 0x20
jmp 0x460672
xor dword [ebp - 0x108], 0x20
mov cl, byte [ebp - 0x108]
mov eax, dword [ebp - 0x1d8]
or byte [eax], cl
inc edi
inc dword [ebp - 0x1d8]
cmp edi, 0x20
jl 0x460637
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x460daf
mov dword [ebp - 0x7c], 1
mov ecx, dword [ebp - 0x84]
mov eax, pe_nt_image_headers32
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2027
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x2029
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov ecx, edi
neg ecx
cmp ecx, 0x10
je 0x46072f
mov eax, edi
neg eax
cmp eax, 0xf
jne 0x4607bf
mov edx, dword [ebp + 0x1c]
lea ecx, [ebp - 0x110]
push edx
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x68]
call fcn.0045db24
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
test ecx, ecx
jl 0x463504
mov dword [ebp - 0x7c], 1
neg edi
cmp edi, 0x10
sete al
and eax, 1
mov edx, dword [ebp - 0x10c]
cmp eax, edx
je 0x46077b
mov cl, 3
jmp 0x46077d
mov cl, 4
mov eax, dword [ebp - 0x84]
mov byte [eax], cl
inc dword [ebp - 0x84]
mov dl, byte [ebp - 0x114]
mov eax, dword [ebp - 0x84]
mov byte [eax], dl
inc dword [ebp - 0x84]
mov dl, byte [ebp - 0x110]
mov ecx, dword [ebp - 0x84]
mov byte [ecx], dl
inc dword [ebp - 0x84]
sub dword [ebp - 0xac], 2
jmp 0x460daf
test byte [ebp - 0x48], 0x40
je 0x4607d3
mov eax, dword [ebp + 0x1c]
mov dword [eax], 7
jmp 0x463504
sub dword [ebp - 0xac], 2
mov edx, dword [ebp - 0x68]
movzx edi, byte [edx]
jmp 0x4607eb
xor eax, eax
mov dword [ebp - 0x60], eax
add dword [ebp - 0x68], 2
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x5c
jne 0x460801
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 2]
cmp dl, 0x45
je 0x4607e2
mov ecx, dword [ebp - 0x68]
cmp edi, 0xd
mov dword [ebp - 0xdc], ecx
je 0x460814
cmp edi, 0xa
jne 0x460818
or dword [ebx + 0x44], 0x20
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x460c98
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x2d
jne 0x460c98
add dword [ebp - 0x68], 2
jmp 0x46083c
add dword [ebp - 0x68], 2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5c
jne 0x46087a
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x45
je 0x460838
jmp 0x46087a
add dword [ebp - 0x68], 2
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x5c
jne 0x460871
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x45
jne 0x460871
add dword [ebp - 0x68], 2
jmp 0x46087a
mov dword [ebp - 0x60], 1
jmp 0x46088e
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x5c
jne 0x46088e
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x51
je 0x460852
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
test dl, dl
je 0x4608a8
mov ecx, dword [ebp - 0x60]
test ecx, ecx
jne 0x4608b6
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5d
jne 0x4608b6
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x68], ecx
jmp 0x460c98
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x46098a
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx]
mov dword [ebp - 0x118], ecx
mov eax, dword [ebp - 0x118]
cmp eax, 0xc0
jl 0x460997
mov edx, dword [ebp - 0x118]
and edx, 0x3f
xor ecx, ecx
mov cl, byte [edx + 0x476f3c]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x120]
add eax, eax
lea eax, [eax + eax*2]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp - 0x120]
mov eax, dword [edx*4 + 0x476b80]
mov edx, dword [ebp - 0x118]
and eax, edx
shl eax, cl
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x11c], 1
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp ecx, eax
jg 0x46097f
sub dword [ebp - 0x124], 6
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x124]
movzx edx, byte [edx + eax]
and edx, 0x3f
shl edx, cl
or dword [ebp - 0x118], edx
inc dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x120]
cmp ecx, eax
jle 0x460944
mov edx, dword [ebp - 0x120]
add dword [ebp - 0x68], edx
jmp 0x460997
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x60]
test edx, edx
jne 0x460a35
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x5c
jne 0x460a35
mov eax, dword [ebp - 0x48]
push eax
push 1
lea eax, [ebp - 0x68]
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebp + 0x1c]
call fcn.0045d748
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x463504
mov ecx, dword [ebp - 0x118]
test ecx, ecx
jge 0x460a35
mov eax, dword [ebp - 0x118]
cmp eax, 0xfffffffb
jne 0x4609f9
mov dword [ebp - 0x118], 8
jmp 0x460a35
mov edx, dword [ebp - 0x118]
cmp edx, 0xffffffea
jne 0x460a10
mov dword [ebp - 0x118], 0x58
jmp 0x460a35
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xffffffef
jne 0x460a27
mov dword [ebp - 0x118], 0x52
jmp 0x460a35
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x68], eax
jmp 0x460c98
mov edx, dword [ebp - 0x118]
cmp edi, edx
jle 0x460a4d
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 8
jmp 0x463504
mov eax, dword [ebp - 0x118]
cmp edi, eax
je 0x460c98
mov edx, dword [ebp - 0x118]
cmp edx, 0xd
je 0x460a71
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xa
jne 0x460a75
or dword [ebx + 0x44], 0x20
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x460c00
mov edx, dword [ebp - 0x118]
cmp edx, 0xff
jg 0x460aa7
test byte [ebp - 0x48], 1
je 0x460c00
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x7f
jle 0x460c00
mov dword [ebp - 0x7c], 1
test byte [ebp - 0x48], 1
je 0x460bc2
mov dword [ebp - 0x130], edi
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x134], eax
jmp 0x460b9c
mov edx, dword [ebp - 0x128]
cmp edx, edi
jb 0x460aed
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x118]
cmp ecx, eax
jbe 0x460b9c
mov edx, dword [ebp - 0x128]
cmp edi, edx
jbe 0x460b0f
mov ecx, edi
dec ecx
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
ja 0x460b0f
mov edi, dword [ebp - 0x128]
jmp 0x460b9c
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp eax, edx
jae 0x460b3e
mov ecx, dword [ebp - 0x118]
inc ecx
mov eax, dword [ebp - 0x128]
cmp ecx, eax
jb 0x460b3e
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x118], edx
jmp 0x460b9c
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
jne 0x460b5f
mov edx, dword [ebp - 0x84]
mov byte [edx], 1
inc dword [ebp - 0x84]
jmp 0x460b85
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 2
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x128]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x12c]
call fcn.0046e374
add dword [ebp - 0x84], eax
lea ecx, [ebp - 0x12c]
lea eax, [ebp - 0x130]
push ecx
lea ecx, [ebp - 0x128]
mov edx, dword [ebp - 0x134]
call fcn.0045ea88
test eax, eax
jne 0x460acf
mov eax, dword [ebp - 0x84]
mov byte [eax], 2
mov eax, edi
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x118]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov edx, dword [ebp - 0x118]
sub edx, edi
inc edx
add dword [ebp - 0xac], edx
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0xb0], ecx
mov eax, dword [ebp + 8]
test eax, eax
jne 0x460daf
mov edx, dword [ebp - 0x118]
cmp edi, edx
jg 0x460daf
mov ecx, edi
mov al, 1
and ecx, 7
mov edx, edi
shl al, cl
test edx, edx
jns 0x460c46
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x1fc], al
test byte [ebp - 0x48], 1
je 0x460c88
mov ecx, dword [ebx + 4]
xor eax, eax
mov dl, 1
mov al, byte [ecx + edi]
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
mov eax, dword [ebp - 0x138]
and ecx, 7
shl dl, cl
test eax, eax
jns 0x460c7e
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x1fc], dl
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, edx
jle 0x460c34
jmp 0x460daf
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x460d5b
cmp edi, 0xff
jg 0x460cbe
test byte [ebp - 0x48], 1
je 0x460d5b
cmp edi, 0x7f
jle 0x460d5b
mov dword [ebp - 0x7c], 1
mov eax, dword [ebp - 0x84]
mov byte [eax], 1
mov eax, edi
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.0046e374
add dword [ebp - 0x84], eax
test byte [ebp - 0x48], 1
je 0x460daf
mov edx, edi
test edx, edx
jns 0x460cfa
add edx, 0x7f
sar edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x481ea8]
shl ecx, 7
mov eax, edi
and eax, 0x8000007f
jns 0x460d16
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx edx, word [ecx*2 + 0x4780a8]
mov ecx, dword [edx*8 + 0x477264]
add ecx, edi
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
je 0x460daf
mov eax, dword [ebp - 0x84]
mov byte [eax], 1
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x13c]
call fcn.0046e374
add dword [ebp - 0x84], eax
jmp 0x460daf
mov ecx, edi
mov dl, 1
and ecx, 7
mov eax, edi
shl dl, cl
test eax, eax
jns 0x460d6d
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x1fc], dl
test byte [ebp - 0x48], 1
je 0x460da3
mov edx, dword [ebx + 4]
xor ecx, ecx
mov al, 1
mov cl, byte [edx + edi]
mov edi, ecx
mov ecx, edi
mov edx, edi
and ecx, 7
shl al, cl
test edx, edx
jns 0x460d99
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x1fc], al
inc dword [ebp - 0xac]
mov dword [ebp - 0xb0], edi
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
movzx edi, byte [eax]
test edi, edi
je 0x460dd0
cmp edi, 0x5d
jne 0x45fb9d
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x45fb9d
test edi, edi
jne 0x460de2
mov edx, dword [ebp + 0x1c]
mov dword [edx], 6
jmp 0x463504
mov ecx, dword [ebp - 0xac]
dec ecx
jne 0x460e9c
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x460e9c
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x460e1c
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x460e1c
mov eax, dword [ebp - 0xb0]
cmp eax, 0x80
jge 0x460e9c
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x460e53
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x460e3b
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov byte [esi], 0x1e
inc esi
mov cl, byte [ebp - 0xb0]
mov byte [esi], cl
inc esi
jmp 0x4634fc
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x460e81
mov edx, dword [ebp - 0xb0]
cmp edx, 0x7f
jle 0x460e81
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0xb0]
call fcn.0046e374
mov dword [ebp - 0xd0], eax
jmp 0x463417
mov cl, byte [ebp - 0xb0]
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd0], 1
jmp 0x463417
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x460eab
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x460f63
mov edx, dword [ebp - 0x98]
test edx, edx
jne 0x460f63
mov ecx, dword [ebp - 0x84]
mov byte [ecx], 0
inc dword [ebp - 0x84]
mov byte [esi], 0x50
inc esi
add esi, 2
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x460ef4
mov dl, 1
jmp 0x460ef6
xor edx, edx
mov byte [esi], dl
mov eax, dword [ebp - 0xac]
test eax, eax
jle 0x460f39
or byte [esi], 2
inc esi
mov ecx, dword [ebp - 0x84]
sub ecx, esi
lea eax, [esi + 0x20]
push ecx
push esi
push eax
call fcn.0045d620
add esp, 0xc
lea edx, [ebp - 0x1fc]
push 0x20
push edx
push esi
call fcn.0045d618
add esp, 0xc
mov esi, dword [ebp - 0x84]
add esi, 0x20
jmp 0x460f3f
mov esi, dword [ebp - 0x84]
mov edx, dword [ebp - 0x70]
mov eax, esi
sub eax, edx
mov ecx, dword [ebp - 0x70]
sar eax, 8
mov byte [ecx + 1], al
mov eax, esi
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x70]
sub eax, edx
and al, 0xff
mov byte [ecx + 2], al
jmp 0x4634fc
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
cmp eax, edx
jne 0x460f77
mov cl, 0x4e
jmp 0x460f79
mov cl, 0x4f
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x460fc9
mov edx, dword [ebp + 8]
test edx, edx
jne 0x460fdb
xor edi, edi
mov eax, esi
mov dword [ebp - 0x1dc], eax
lea edx, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1dc]
inc edi
mov al, byte [ecx]
not al
mov byte [edx], al
inc dword [ebp - 0x1dc]
inc dword [ebp - 0x1d8]
cmp edi, 0x20
jl 0x460fa3
jmp 0x460fdb
push 0x20
lea ecx, [ebp - 0x1fc]
push ecx
push esi
call fcn.0045d618
add esp, 0xc
add esi, 0x20
jmp 0x4634fc
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4633c5
mov edx, dword [ebp + 0x1c]
push edx
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x68]
inc eax
call fcn.0045dcc0
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx]
test eax, eax
jne 0x463504
jmp 0x461040
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x461040
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x461040
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x461055
mov edx, dword [ebp + 0x1c]
mov dword [edx], 9
jmp 0x463504
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x461068
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
jne 0x461076
xor edx, edx
jmp 0x46107b
mov edx, 0x200
mov dword [ebp - 0x40], edx
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x2b
jne 0x4610b0
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x9c], 1
inc dword [ebp - 0x68]
jmp 0x4610cc
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x3f
jne 0x4610c6
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x68]
jmp 0x4610cc
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x1c
je 0x4610e3
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x1d
jne 0x4611ae
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x461140
test byte [esi - 1], 0x80
je 0x461140
lea edx, [esi - 1]
mov dword [ebp - 0x140], edx
jmp 0x461101
dec dword [ebp - 0x140]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x4610fb
mov edi, esi
mov eax, dword [ebp - 0x140]
sub edi, eax
push edi
mov edx, dword [ebp - 0x140]
push edx
lea ecx, [ebp - 0x90]
push ecx
call fcn.0045d618
add esp, 0xc
or edi, 0x80
jmp 0x461157
movzx edi, byte [esi - 1]
mov eax, dword [ebp - 0x18]
dec eax
jle 0x461157
mov edx, dword [ebp - 0x3c]
or edx, edi
mov ecx, dword [ebx + 0x48]
or edx, ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x461265
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x461265
lea ecx, [ebp - 0x90]
push ecx
mov eax, dword [ebp - 0x68]
inc eax
push eax
mov edx, dword [ebp - 0x48]
push edx
push ebx
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx]
mov ecx, dword [ebp - 0x80]
mov edx, edi
call fcn.0045eb24
test eax, eax
je 0x461265
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x9c], 1
jmp 0x461265
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x1e
jne 0x46120f
mov dword [ebp - 0x14], 0xd
mov eax, dword [ebp - 0x70]
movzx edi, byte [eax + 1]
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x461265
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x461265
push 0
mov ecx, dword [ebp - 0x68]
inc ecx
push ecx
mov eax, dword [ebp - 0x48]
push eax
push ebx
mov ecx, dword [ebp - 0x80]
mov edx, edi
mov eax, 0x1e
call fcn.0045eb24
test eax, eax
je 0x461265
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x9c], 1
jmp 0x461265
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x17
jae 0x4614ce
mov dword [ebp - 0x14], 0x1a
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x9c]
test eax, eax
movzx edi, byte [edx]
jne 0x461265
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x461265
push 0
mov ecx, dword [ebp - 0x68]
inc ecx
push ecx
mov eax, dword [ebp - 0x48]
push eax
push ebx
mov ecx, dword [ebp - 0x80]
xor edx, edx
mov eax, edi
call fcn.0045eb24
test eax, eax
je 0x461265
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x9c], 1
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x10
je 0x461278
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0xf
jne 0x461296
mov eax, dword [ebp - 0x70]
xor edx, edx
mov dl, byte [eax + 1]
mov dword [ebp - 0x148], edx
mov ecx, dword [ebp - 0x70]
xor eax, eax
mov al, byte [ecx + 2]
mov dword [ebp - 0x14c], eax
jmp 0x4612a5
or edx, 0xffffffff
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], esi
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x461d48
mov edx, dword [ebp - 0x1c]
dec edx
je 0x4612c3
or dword [ebx + 0x44], 1
mov ecx, dword [ebp - 0x14]
add dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x46131a
mov edx, dword [ebp - 0x1c]
inc edx
jne 0x4612e4
mov cl, byte [ebp - 0x10]
add cl, 0x1f
mov byte [esi], cl
inc esi
jmp 0x461478
mov eax, dword [ebp - 0x1c]
dec eax
jne 0x4612f8
mov dl, byte [ebp - 0x10]
add dl, 0x23
mov byte [esi], dl
inc esi
jmp 0x461478
mov cl, byte [ebp - 0x10]
add cl, 0x25
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x1c]
sar eax, 8
mov byte [esi], al
mov dl, byte [ebp - 0x1c]
and dl, 0xff
mov byte [esi + 1], dl
add esi, 2
jmp 0x461478
mov ecx, dword [ebp - 0x18]
dec ecx
jne 0x461368
mov eax, dword [ebp - 0x1c]
inc eax
jne 0x461334
mov dl, byte [ebp - 0x10]
add dl, 0x21
mov byte [esi], dl
inc esi
jmp 0x461478
mov esi, dword [ebp - 0x144]
mov eax, dword [ebp - 0x1c]
dec eax
je 0x461d48
mov dl, byte [ebp - 0x10]
add dl, 0x25
mov byte [esi], dl
inc esi
mov ecx, dword [ebp - 0x1c]
dec ecx
sar ecx, 8
mov byte [esi], cl
mov al, byte [ebp - 0x1c]
add al, 0xff
and al, 0xff
mov byte [esi + 1], al
add esi, 2
jmp 0x461478
mov dl, byte [ebp - 0x14]
add dl, 0x27
mov byte [esi], dl
inc esi
mov ecx, dword [ebp - 0x18]
sar ecx, 8
mov byte [esi], cl
mov al, byte [ebp - 0x18]
and al, 0xff
mov byte [esi + 1], al
add esi, 2
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x4613e8
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x4613b9
cmp edi, 0x80
jl 0x4613b9
mov eax, edi
lea edx, [ebp - 0x90]
and eax, 7
push eax
push edx
push esi
call fcn.0045d618
add esp, 0xc
mov ecx, edi
and ecx, 7
add esi, ecx
jmp 0x4613da
mov eax, edi
mov byte [esi], al
inc esi
mov edx, dword [ebp - 0x148]
test edx, edx
jl 0x4613da
mov cl, byte [ebp - 0x148]
mov byte [esi], cl
inc esi
mov al, byte [ebp - 0x14c]
mov byte [esi], al
inc esi
mov dl, byte [ebp - 0x10]
add dl, 0x1f
mov byte [esi], dl
inc esi
jmp 0x461478
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
je 0x461478
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x461424
cmp edi, 0x80
jl 0x461424
mov ecx, edi
lea eax, [ebp - 0x90]
and ecx, 7
push ecx
push eax
push esi
call fcn.0045d618
add esp, 0xc
mov edx, edi
and edx, 7
add esi, edx
jmp 0x461429
mov ecx, edi
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x148]
test eax, eax
jl 0x461445
mov dl, byte [ebp - 0x148]
mov byte [esi], dl
inc esi
mov cl, byte [ebp - 0x14c]
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
dec edx
jne 0x46145c
mov cl, byte [ebp - 0x10]
add cl, 0x23
mov byte [esi], cl
inc esi
jmp 0x461478
mov al, byte [ebp - 0x10]
add al, 0x25
mov byte [esi], al
inc esi
mov edx, dword [ebp - 0x1c]
sar edx, 8
mov byte [esi], dl
mov cl, byte [ebp - 0x1c]
and cl, 0xff
mov byte [esi + 1], cl
add esi, 2
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4614a4
cmp edi, 0x80
jl 0x4614a4
mov edx, edi
lea ecx, [ebp - 0x90]
and edx, 7
push edx
push ecx
push esi
call fcn.0045d618
add esp, 0xc
and edi, 7
add esi, edi
jmp 0x4614a9
mov eax, edi
mov byte [esi], al
inc esi
mov edx, dword [ebp - 0x148]
test edx, edx
jl 0x461b73
mov cl, byte [ebp - 0x148]
mov byte [esi], cl
inc esi
mov al, byte [ebp - 0x14c]
mov byte [esi], al
inc esi
jmp 0x461b73
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x4e
je 0x4614f9
mov eax, dword [ebp - 0x70]
mov dl, byte [eax]
cmp dl, 0x4f
je 0x4614f9
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x50
je 0x4614f9
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x51
jne 0x46159f
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x461508
mov esi, dword [ebp - 0x70]
jmp 0x461d48
mov eax, dword [ebp - 0x1c]
dec eax
je 0x461512
or dword [ebx + 0x44], 1
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x46152c
mov ecx, dword [ebp - 0x1c]
inc ecx
jne 0x46152c
mov al, byte [ebp - 0x10]
add al, 0x46
mov byte [esi], al
inc esi
jmp 0x461b73
mov edx, dword [ebp - 0x18]
dec edx
jne 0x461545
mov ecx, dword [ebp - 0x1c]
inc ecx
jne 0x461545
mov al, byte [ebp - 0x10]
add al, 0x48
mov byte [esi], al
inc esi
jmp 0x461b73
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x46155f
mov ecx, dword [ebp - 0x1c]
dec ecx
jne 0x46155f
mov al, byte [ebp - 0x10]
add al, 0x4a
mov byte [esi], al
inc esi
jmp 0x461b73
mov dl, byte [ebp - 0x10]
add dl, 0x4c
mov byte [esi], dl
inc esi
mov ecx, dword [ebp - 0x18]
sar ecx, 8
mov byte [esi], cl
mov al, byte [ebp - 0x18]
and al, 0xff
mov byte [esi + 1], al
add esi, 2
mov edx, dword [ebp - 0x1c]
inc edx
jne 0x461586
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
sar eax, 8
mov byte [esi], al
mov dl, byte [ebp - 0x1c]
and dl, 0xff
mov byte [esi + 1], dl
add esi, 2
jmp 0x461b73
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x5e
je 0x4615c9
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x5f
je 0x4615c9
mov eax, dword [ebp - 0x70]
mov dl, byte [eax]
cmp dl, 0x5d
je 0x4615c9
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x60
jne 0x461b58
xor edx, edx
mov edi, esi
mov dword [ebp - 0x154], edx
xor edx, edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x158], edx
mov ecx, dword [ebp - 0x70]
sub edi, eax
mov al, byte [ecx]
cmp al, 0x60
jne 0x461602
mov edx, dword [ebp - 0x70]
mov cl, byte [edx + 3]
cmp cl, 0x66
jne 0x461602
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x37
jmp 0x463504
mov edx, dword [ebp - 0x1c]
inc edx
jne 0x46164f
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0x15c]
mov ecx, dword [ebp - 0x15c]
xor edx, edx
mov dl, byte [eax + 1]
xor eax, eax
shl edx, 8
mov al, byte [ecx + 2]
or edx, eax
add dword [ebp - 0x15c], edx
mov edx, dword [ebp - 0x15c]
mov cl, byte [edx]
cmp cl, 0x55
jne 0x461611
mov eax, esi
mov edx, dword [ebp - 0x15c]
sub eax, edx
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x461746
mov eax, dword [ebp - 0x1c]
dec eax
jg 0x4616af
mov byte [esi], 0
push ebx
mov edx, dword [ebp - 0x78]
push edx
mov ecx, dword [ebp - 0x80]
mov edx, 1
mov eax, dword [ebp - 0x70]
call fcn.0045e980
push edi
mov ecx, dword [ebp - 0x70]
push ecx
mov eax, dword [ebp - 0x70]
inc eax
push eax
call fcn.0045d620
add esp, 0xc
inc esi
mov edx, dword [ebp - 0x1c]
test edx, edx
jne 0x46169d
mov ecx, dword [ebp - 0x70]
mov byte [ecx], 0x6f
jmp 0x461d48
mov edx, dword [ebp - 0x70]
mov al, byte [ebp - 0x10]
add al, 0x67
mov byte [edx], al
inc dword [ebp - 0x70]
jmp 0x46173e
mov byte [esi], 0
push ebx
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x80]
mov edx, 4
mov eax, dword [ebp - 0x70]
call fcn.0045e980
push edi
mov eax, dword [ebp - 0x70]
push eax
mov edx, dword [ebp - 0x70]
add edx, 4
push edx
call fcn.0045d620
mov eax, dword [ebp - 0x70]
mov cl, byte [ebp - 0x10]
add cl, 0x67
add esp, 0xc
mov byte [eax], cl
add esi, 4
inc dword [ebp - 0x70]
mov edx, dword [ebp - 0x70]
mov byte [edx], 0x5e
inc dword [ebp - 0x70]
mov ecx, dword [ebp - 0x158]
test ecx, ecx
jne 0x461703
xor eax, eax
jmp 0x46170e
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x158]
sub eax, edx
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x160]
mov edx, dword [ebp - 0x70]
sar eax, 8
mov byte [edx], al
mov eax, dword [ebp - 0x70]
mov cl, byte [ebp - 0x160]
and cl, 0xff
mov byte [eax + 1], cl
add dword [ebp - 0x70], 2
dec dword [ebp - 0x1c]
jmp 0x46187a
mov edx, dword [ebp - 0x18]
dec edx
jle 0x46186d
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4617b8
mov eax, dword [ebp - 0x18]
dec eax
imul dword [ebp - 0x50]
mov dword [ebp - 0x164], eax
mov edx, dword [ebp - 0x18]
dec edx
mov dword [ebp - 0x220], edx
fild dword [ebp - 0x220]
fild dword [ebp - 0x50]
fmulp st(1)
fcomp qword [0x465518]
fnstsw ax
sahf
ja 0x46179a
mov edx, dword [ebp + 8]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
sub ecx, eax
mov edx, dword [ebp - 0x164]
cmp ecx, edx
jge 0x4617a8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x14
jmp 0x463504
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x164]
add dword [eax], edx
jmp 0x46186d
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x4617cc
mov eax, dword [ebp - 0x30]
test eax, eax
jge 0x4617cc
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x150], 1
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
jge 0x46186d
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x168], edx
push edi
mov ecx, dword [ebp - 0x70]
push ecx
push esi
call fcn.0045d618
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x168]
cmp eax, edx
jae 0x46184b
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
or ecx, edx
mov edx, dword [ebx + 0x20]
add ecx, edi
sar ecx, 8
mov byte [edx], cl
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
add eax, 2
or cl, dl
mov edx, edi
add cl, dl
mov edx, dword [ebx + 0x20]
and cl, 0xff
mov byte [edx + 1], cl
add dword [ebx + 0x20], 2
mov ecx, dword [ebp - 0x168]
cmp eax, ecx
jb 0x46180b
mov eax, dword [ebp - 0x168]
add esi, edi
mov dword [ebp - 0x78], eax
inc dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
mov edx, dword [ebp - 0x18]
cmp eax, edx
jl 0x4617e7
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jle 0x46187a
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x461a9a
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4618fc
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x4618fc
mov edx, dword [ebp - 0x50]
add edx, 7
imul edx, dword [ebp - 0x1c]
add edx, 0xfffffffa
mov dword [ebp - 0x16c], edx
fild dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
add ecx, 7
mov dword [ebp - 0x220], ecx
fild dword [ebp - 0x220]
fmulp st(1)
fcomp qword [0x465518]
fnstsw ax
sahf
ja 0x4618de
mov edx, dword [ebp + 8]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
sub ecx, eax
mov edx, dword [ebp - 0x16c]
cmp ecx, edx
jge 0x4618ec
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x14
jmp 0x463504
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x16c]
add dword [eax], edx
jmp 0x461a15
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dword [ebp - 0x150], ecx
mov eax, dword [ebp - 0x150]
test eax, eax
jl 0x461a15
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x170], edx
mov cl, byte [ebp - 0x10]
add cl, 0x67
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x150]
test eax, eax
je 0x461971
mov byte [esi], 0x5e
inc esi
mov edx, dword [ebp - 0x158]
test edx, edx
jne 0x461942
xor ecx, ecx
jmp 0x46194c
mov ecx, esi
mov eax, dword [ebp - 0x158]
sub ecx, eax
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x158], esi
mov edx, dword [ebp - 0x174]
sar edx, 8
mov byte [esi], dl
mov al, byte [ebp - 0x174]
and al, 0xff
mov byte [esi + 1], al
add esi, 2
push edi
mov edx, dword [ebp - 0x70]
push edx
push esi
call fcn.0045d618
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x170]
cmp eax, edx
jae 0x4619f6
xor ecx, ecx
xor edx, edx
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
or ecx, edx
mov edx, dword [ebp - 0x150]
add ecx, edi
test edx, edx
je 0x4619ad
mov edx, 4
jmp 0x4619b2
mov edx, 1
add ecx, edx
mov edx, dword [ebx + 0x20]
sar ecx, 8
mov byte [edx], cl
mov cl, byte [eax]
mov dl, byte [eax + 1]
shl ecx, 8
or cl, dl
mov edx, edi
add cl, dl
mov edx, dword [ebp - 0x150]
test edx, edx
je 0x4619d8
mov dl, 4
jmp 0x4619da
mov dl, 1
add cl, dl
mov edx, dword [ebx + 0x20]
and cl, 0xff
add eax, 2
mov byte [edx + 1], cl
add dword [ebx + 0x20], 2
mov ecx, dword [ebp - 0x170]
cmp eax, ecx
jb 0x46198c
mov eax, dword [ebp - 0x170]
add esi, edi
mov dword [ebp - 0x78], eax
dec dword [ebp - 0x150]
mov eax, dword [ebp - 0x150]
test eax, eax
jge 0x461914
mov edx, dword [ebp - 0x158]
test edx, edx
je 0x461b73
mov eax, esi
mov edx, dword [ebp - 0x158]
sub eax, edx
inc eax
mov edx, esi
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
movzx edi, byte [edx + 2]
or ecx, edi
mov dword [ebp - 0x178], ecx
mov ecx, dword [ebp - 0x178]
test ecx, ecx
jne 0x461a54
xor ecx, ecx
jmp 0x461a62
mov ecx, dword [ebp - 0x158]
mov edi, dword [ebp - 0x178]
sub ecx, edi
mov dword [ebp - 0x158], ecx
mov byte [esi], 0x55
inc esi
mov ecx, eax
sar ecx, 8
mov byte [esi], cl
mov ecx, eax
and cl, 0xff
mov byte [esi + 1], cl
mov ecx, eax
sar ecx, 8
add esi, 2
and al, 0xff
mov byte [edx + 1], cl
mov byte [edx + 2], al
mov eax, dword [ebp - 0x158]
test eax, eax
jne 0x461a23
jmp 0x461b73
mov eax, dword [ebp - 0x154]
mov edx, esi
sub edx, eax
xor ecx, ecx
mov dword [ebp - 0x17c], edx
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x17c]
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
mov eax, dword [ebp - 0x17c]
or ecx, edx
sub eax, ecx
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x17c]
mov dl, byte [ebp - 0x10]
add dl, 0x56
mov byte [ecx], dl
mov eax, dword [ebp + 8]
test eax, eax
jne 0x461b73
mov edx, dword [ebp - 0x180]
mov cl, byte [edx]
cmp cl, 0x5d
je 0x461b73
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x184], eax
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x184]
call fcn.0045e624
test eax, eax
je 0x461b28
mov edx, dword [ebp - 0x180]
add byte [edx], 3
jmp 0x461b73
mov ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0x184]
xor eax, eax
mov al, byte [ecx + 1]
xor ecx, ecx
shl eax, 8
mov cl, byte [edx + 2]
or eax, ecx
add dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dl, byte [eax]
cmp dl, 0x54
je 0x461b05
jmp 0x461b73
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x6d
je 0x461d48
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0xb
jmp 0x463504
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x461d48
mov eax, dword [ebp - 0x5c]
mov dl, byte [eax]
cmp dl, 0x27
je 0x461b9e
mov ecx, dword [ebp - 0x5c]
mov al, byte [ecx]
cmp al, 0x41
je 0x461b9e
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx]
cmp cl, 0x34
jne 0x461bda
mov eax, dword [ebp - 0x5c]
mov dl, byte [eax]
cmp dl, 0x41
jne 0x461bc4
mov ecx, dword [ebp - 0x5c]
mov al, byte [ecx + 3]
cmp al, 0x10
je 0x461bbd
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx + 3]
cmp cl, 0xf
jne 0x461bc4
mov eax, 2
jmp 0x461bc6
xor eax, eax
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
mov dl, byte [ecx + 0x476ecc]
add eax, edx
add dword [ebp - 0x5c], eax
mov eax, esi
mov ecx, dword [ebp - 0x5c]
sub eax, ecx
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
test eax, eax
jle 0x461d48
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
add ecx, 0xffffffe1
cmp ecx, 0x20
ja 0x461ce2
mov cl, byte [ecx + 0x463c15]
jmp dword [ecx*4 + 0x463c36]
mov eax, dword [ebp - 0x188]
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x5c]
add ecx, 3
push ecx
call fcn.0045d620
add dword [ebp - 0x188], 3
mov eax, dword [ebp - 0x5c]
add esi, 3
add esp, 0xc
mov byte [eax], 0x5d
mov byte [esi], 0x55
inc esi
mov edx, dword [ebp - 0x188]
sar edx, 8
mov byte [esi], dl
mov cl, byte [ebp - 0x188]
and cl, 0xff
mov byte [esi + 1], cl
add esi, 2
mov eax, dword [ebp - 0x188]
mov edx, dword [ebp - 0x5c]
sar eax, 8
mov byte [edx + 1], al
mov eax, dword [ebp - 0x5c]
mov cl, byte [ebp - 0x188]
and cl, 0xff
mov byte [eax + 2], cl
xor edx, edx
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x40]
or dword [ebx + 0x48], ecx
jmp 0x4634fc
mov eax, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xc0], edx
mov dword [ebp - 0x20], 0x5f
mov ecx, dword [ebx + 0x20]
xor eax, eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0xa8], eax
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x2a
jne 0x461e99
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax + 1]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 2
je 0x461e99
mov dword [ebp - 0x190], 0x476020
inc dword [ebp - 0x68]
xor edx, edx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x70], edx
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 2
jne 0x461dbf
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3a
jne 0x461de9
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3b
jmp 0x463504
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x29
je 0x461e00
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3c
jmp 0x463504
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x194]
sub ecx, eax
xor edi, edi
mov dword [ebp - 0x18c], ecx
jmp 0x461e6f
mov eax, dword [edi*8 + 0x475f3c]
mov edx, dword [ebp - 0x18c]
cmp eax, edx
jne 0x461e60
mov ecx, dword [ebp - 0x18c]
push ecx
mov eax, dword [ebp - 0x190]
push eax
mov edx, dword [ebp - 0x194]
push edx
call fcn.0045d630
add esp, 0xc
test eax, eax
jne 0x461e60
mov cl, byte [edi*8 + 0x475f40]
mov byte [esi], cl
mov al, byte [esi]
inc esi
cmp al, 0x6e
jne 0x461e79
mov dword [ebx + 0x4c], 1
jmp 0x461e79
mov edx, dword [edi*8 + 0x475f3c]
inc edx
add dword [ebp - 0x190], edx
inc edi
mov ecx, dword [0x475f74]
cmp edi, ecx
jl 0x461e15
mov eax, dword [0x475f74]
cmp edi, eax
jl 0x4634fc
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3c
jmp 0x463504
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3f
jne 0x462da9
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3a
jg 0x461f32
je 0x461fb4
add ecx, 0xffffffdf
cmp ecx, 0x18
ja 0x462c01
jmp dword [ecx*4 + 0x463ece]
cmp ecx, 0x43
jg 0x461f59
je 0x4624fe
sub ecx, 0x3c
je 0x46249b
dec ecx
je 0x462466
dec ecx
je 0x4624ef
jmp 0x462c01
sub ecx, 0x50
je 0x4625b4
sub ecx, 2
je 0x46297e
sub ecx, 0x2a
je 0x461faa
jmp 0x462c01
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x20], 0x5e
inc dword [ebp - 0x68]
jmp 0x462dd7
mov dword [ebp - 0x20], 0x58
inc dword [ebp - 0x68]
jmp 0x462dd7
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x4624b9
sub al, 0x1c
jne 0x4624c9
mov dword [ebp - 0x20], 0x5a
add dword [ebp - 0x68], 2
jmp 0x462dd7
mov dword [ebp - 0x20], 0x5b
add dword [ebp - 0x68], 2
jmp 0x462dd7
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx + 1]
mov eax, dword [ebx + 0xc]
test byte [eax + ecx], 0x10
jne 0x462604
inc dword [ebp - 0x68]
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x18
jmp 0x463504
mov dword [ebp - 0x20], 0x5d
inc dword [ebp - 0x68]
jmp 0x462dd7
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x4c], 1
mov byte [esi], 0x53
inc esi
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
jmp 0x462533
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x68]
add eax, eax
xor ecx, ecx
mov cl, byte [edx]
lea eax, [eax + eax*4]
add eax, ecx
add eax, 0xffffffd0
mov dword [ebp - 0x1b4], eax
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x4769d1], 4
jne 0x462516
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x29
je 0x46255d
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x27
jmp 0x463504
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0xff
jle 0x462579
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x26
jmp 0x463504
mov dl, byte [ebp - 0x1b4]
mov byte [esi], dl
inc esi
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebx + 0x18]
sub ecx, eax
inc ecx
sar ecx, 8
mov byte [esi], cl
mov edx, dword [ebp - 0x68]
mov ecx, dword [ebx + 0x18]
sub edx, ecx
inc edx
and dl, 0xff
mov byte [esi + 1], dl
mov byte [esi + 2], 0
mov byte [esi + 3], 0
add esi, 4
xor eax, eax
mov dword [ebp - 0x70], eax
jmp 0x4634fc
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x3d
je 0x4625cb
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x3e
jne 0x4625ed
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3e
sete dl
and edx, 1
mov dword [ebp - 0xa4], edx
mov dword [ebp - 0xcc], 0x29
jmp 0x462809
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3c
je 0x462604
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x29
jmp 0x463504
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3c
jne 0x462614
mov edx, 0x3e
jmp 0x462619
mov edx, 0x27
mov dword [ebp - 0xcc], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1ac], eax
jmp 0x462630
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 0x10
jne 0x46262d
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x1ac]
sub ecx, eax
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp + 8]
test edx, edx
je 0x4626cc
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x462677
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x2a
jmp 0x463504
mov eax, dword [ebx + 0x28]
cmp eax, 0x2710
jl 0x46268f
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x31
jmp 0x463504
mov ecx, dword [ebp - 0x1a4]
add ecx, 3
mov eax, dword [ebx + 0x2c]
cmp ecx, eax
jle 0x4627ea
mov edx, dword [ebp - 0x1a4]
add edx, 3
mov dword [ebx + 0x2c], edx
mov ecx, dword [ebp - 0x1a4]
cmp ecx, 0x20
jle 0x4627ea
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x30
jmp 0x463504
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x1b0], edx
xor ecx, ecx
mov dword [ebp - 0x198], ecx
jmp 0x462789
mov eax, dword [ebp - 0x1a4]
push eax
mov edx, dword [ebp - 0x1b0]
add edx, 2
push edx
mov ecx, dword [ebp - 0x1ac]
push ecx
call fcn.0045d638
add esp, 0xc
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
test eax, eax
jne 0x462744
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1a4]
mov al, byte [edx + ecx + 2]
test al, al
jne 0x46273a
test byte [ebp - 0x46], 8
jne 0x462744
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x2b
jmp 0x463504
mov dword [ebp - 0x1b8], 0xffffffff
mov ecx, dword [ebp - 0x1b8]
test ecx, ecx
jge 0x46277a
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x198]
sub eax, edx
imul dword [ebx + 0x2c]
push eax
mov ecx, dword [ebp - 0x1b0]
push ecx
mov eax, dword [ebp - 0x1b0]
mov edx, dword [ebx + 0x2c]
add eax, edx
push eax
call fcn.0045d620
add esp, 0xc
jmp 0x46279a
mov ecx, dword [ebx + 0x2c]
add dword [ebp - 0x1b0], ecx
inc dword [ebp - 0x198]
mov eax, dword [ebp - 0x198]
mov edx, dword [ebx + 0x28]
cmp eax, edx
jl 0x4626e2
mov ecx, dword [ebx + 0x30]
mov eax, dword [ebp - 0x1b0]
inc ecx
sar ecx, 8
mov byte [eax], cl
mov dl, byte [ebx + 0x30]
mov ecx, dword [ebp - 0x1b0]
inc edx
and dl, 0xff
mov byte [ecx + 1], dl
mov eax, dword [ebp - 0x1a4]
push eax
mov edx, dword [ebp - 0x1ac]
push edx
mov ecx, dword [ebp - 0x1b0]
add ecx, 2
push ecx
call fcn.0045d618
mov eax, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1a4]
add esp, 0xc
mov byte [eax + edx + 2], 0
inc dword [ebp - 0x68]
inc dword [ebx + 0x28]
jmp 0x462db8
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x1ac], ecx
jmp 0x46281a
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 0x10
jne 0x462817
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x1ac]
sub eax, edx
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x46289f
mov eax, dword [ebp - 0x1a4]
test eax, eax
jne 0x46285a
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3e
jmp 0x463504
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x462879
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x2a
jmp 0x463504
mov eax, dword [ebp - 0x1a4]
cmp eax, 0x20
jle 0x462892
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x30
jmp 0x463504
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
jmp 0x46296b
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x1b0], eax
xor edx, edx
mov dword [ebp - 0x198], edx
jmp 0x4628f9
mov ecx, dword [ebp - 0x1a4]
push ecx
mov eax, dword [ebp - 0x1b0]
add eax, 2
push eax
mov edx, dword [ebp - 0x1ac]
push edx
call fcn.0045d630
add esp, 0xc
test eax, eax
jne 0x4628ea
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1a4]
mov dl, byte [ecx + eax + 2]
test dl, dl
je 0x462906
mov ecx, dword [ebx + 0x2c]
add dword [ebp - 0x1b0], ecx
inc dword [ebp - 0x198]
mov eax, dword [ebp - 0x198]
mov edx, dword [ebx + 0x28]
cmp eax, edx
jl 0x4628b2
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebx + 0x28]
cmp ecx, eax
jge 0x462935
mov edx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1b0]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 1]
or ecx, edx
mov dword [ebp - 0xb8], ecx
jmp 0x46296b
test byte [ebp - 0x48], 8
setne cl
and ecx, 1
push ecx
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1ac]
mov eax, ebx
call fcn.0045e104
mov dword [ebp - 0xb8], eax
test eax, eax
jg 0x46296b
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0xf
jmp 0x463504
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
jne 0x462ab3
jmp 0x463282
inc dword [ebp - 0x68]
mov dword [ebp - 0xcc], 0x29
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xbc], edx
cmp edx, 0x2b
jne 0x4629be
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [eax]
test byte [ecx + 0x4769d1], 4
jne 0x4629e1
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x3f
jmp 0x463504
mov edx, dword [ebp - 0xbc]
cmp edx, 0x2d
jne 0x4629e1
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx + 1]
test byte [eax + 0x4769d1], 4
je 0x462c01
inc dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0xb8], edx
jmp 0x462a0b
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0x68]
add ecx, ecx
xor edx, edx
mov dl, byte [eax]
lea ecx, [ecx + ecx*4]
add ecx, edx
add ecx, 0xffffffd0
mov dword [ebp - 0xb8], ecx
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
test byte [eax + 0x4769d1], 4
jne 0x4629eb
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx]
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
je 0x462a3a
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x1d
jmp 0x463504
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x2d
jne 0x462a87
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x462a5d
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3a
jmp 0x463504
mov ecx, dword [ebx + 0x30]
mov eax, dword [ebp - 0xb8]
sub ecx, eax
inc ecx
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
test edx, edx
jg 0x462ab3
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0xf
jmp 0x463504
mov eax, dword [ebp - 0xbc]
cmp eax, 0x2b
jne 0x462ab3
mov edx, dword [ebp - 0xb8]
test edx, edx
jne 0x462aaa
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x3a
jmp 0x463504
mov eax, dword [ebx + 0x30]
add dword [ebp - 0xb8], eax
mov dword [ebp - 0x70], esi
mov edx, dword [ebx + 0x14]
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x462b9e
mov byte [esi], 0
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x462aee
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x14]
call fcn.0045e498
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1bc]
test edx, edx
jne 0x462b5b
test byte [ebp - 0x48], 8
setne cl
and ecx, 1
xor edx, edx
push ecx
mov eax, ebx
mov ecx, dword [ebp - 0xb8]
call fcn.0045e104
test eax, eax
jge 0x462b24
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xf
jmp 0x463504
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebp - 0xb8]
add edx, ecx
lea eax, [esi + 4]
mov dword [ebp - 0x1bc], edx
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x20]
sub eax, edx
sar eax, 8
mov byte [ecx], al
lea eax, [esi + 4]
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x20]
sub eax, edx
and al, 0xff
mov byte [ecx + 1], al
add dword [ebx + 0x20], 2
jmp 0x462b9e
mov eax, dword [ebp - 0x1bc]
xor edx, edx
mov ecx, dword [ebp - 0x1bc]
mov dl, byte [eax + 1]
xor eax, eax
shl edx, 8
mov al, byte [ecx + 2]
or edx, eax
jne 0x462b9e
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x10]
mov edx, esi
mov eax, dword [ebp - 0x1bc]
call fcn.0045e8b0
test eax, eax
je 0x462b9e
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x28
jmp 0x463504
mov byte [esi], 0x5d
mov byte [esi + 1], 0
mov byte [esi + 2], 6
add esi, 3
mov byte [esi], 0x52
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebx + 0x14]
sub eax, edx
sar eax, 8
mov byte [esi + 1], al
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebp - 0x1bc]
sub ecx, eax
and cl, 0xff
mov byte [esi + 2], cl
add esi, 3
mov byte [esi], 0x55
mov byte [esi + 1], 0
mov byte [esi + 2], 6
mov dword [ebp - 0x50], 9
add esi, 3
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x4634fc
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x4634fc
xor ecx, ecx
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], eax
jmp 0x462cce
mov edx, dword [ebp - 0x68]
inc dword [ebp - 0x68]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x69
jg 0x462c47
je 0x462c78
sub eax, 0x2d
je 0x462c58
sub eax, 0x1d
je 0x462c66
sub eax, 0xb
je 0x462ca4
sub eax, 3
je 0x462cb2
jmp 0x462cbd
sub eax, 0x6d
je 0x462c83
sub eax, 6
je 0x462c8e
sub eax, 5
je 0x462c99
jmp 0x462cbd
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x1a8], edx
jmp 0x462cce
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 0x80000
or dword [ebx + 0x44], 0x10
jmp 0x462cce
mov eax, dword [ebp - 0x1a8]
or dword [eax], 1
jmp 0x462cce
mov edx, dword [ebp - 0x1a8]
or dword [edx], 2
jmp 0x462cce
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 4
jmp 0x462cce
mov eax, dword [ebp - 0x1a8]
or dword [eax], 8
jmp 0x462cce
mov edx, dword [ebp - 0x1a8]
or dword [edx], 0x200
jmp 0x462cce
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 0x40
jmp 0x462cce
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xc
dec dword [ebp - 0x68]
jmp 0x463504
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x29
je 0x462ce6
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x3a
jne 0x462c20
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x19c]
or ecx, eax
mov edx, dword [ebp - 0x1a0]
not edx
and ecx, edx
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x29
jne 0x462d9d
mov edx, dword [ebx + 0x14]
add edx, 3
cmp esi, edx
jne 0x462d34
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x462d29
mov eax, dword [ebp + 8]
mov edx, dword [eax]
cmp edx, 6
jne 0x462d34
mov ecx, dword [ebp - 0xb4]
mov dword [ebx + 0x40], ecx
jmp 0x462d85
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb4]
and edx, 7
and eax, 7
cmp eax, edx
je 0x462d57
mov byte [esi], 0x19
inc esi
mov cl, byte [ebp - 0xb4]
and cl, 7
mov byte [esi], cl
inc esi
test byte [ebp - 0xb3], 2
setne al
and eax, 1
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
xor edx, 1
mov dword [ebp - 0x28], edx
test byte [ebp - 0xb4], 1
je 0x462d80
mov ecx, pe_nt_image_headers32
jmp 0x462d82
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 4]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x70], ecx
jmp 0x4634fc
mov dword [ebp - 0x20], 0x5e
inc dword [ebp - 0x68]
jmp 0x462dd7
test byte [ebp - 0x47], 0x10
je 0x462db8
mov dword [ebp - 0x20], 0x5e
jmp 0x462dd7
inc dword [ebx + 0x30]
mov eax, dword [ebx + 0x30]
sar eax, 8
mov byte [esi + 3], al
mov dl, byte [ebx + 0x30]
and dl, 0xff
mov byte [esi + 4], dl
mov dword [ebp - 0xc0], 2
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x5d
jl 0x462de3
mov eax, esi
jmp 0x462de5
xor eax, eax
mov dword [ebp - 0x70], eax
xor eax, eax
mov dl, byte [ebp - 0x20]
mov byte [esi], dl
mov dword [ebp - 0x5c], esi
mov ecx, dword [ebx + 0x48]
lea edx, [ebp - 0x68]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x50], eax
push edx
mov ecx, dword [ebp + 0x1c]
push ecx
mov eax, dword [ebp - 0x20]
cmp eax, 0x5a
je 0x462e17
mov edx, dword [ebp - 0x20]
cmp edx, 0x5b
je 0x462e17
xor ecx, ecx
jmp 0x462e1c
mov ecx, 1
push ecx
lea ecx, [ebp - 0xc8]
mov eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
push edx
push ecx
push eax
mov edx, dword [ebp + 0x10]
push edx
push ebx
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x462e49
xor eax, eax
jmp 0x462e4c
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xb4]
and edx, 7
call fcn.00463520
test eax, eax
je 0x463504
mov edx, dword [ebp - 0x20]
cmp edx, 0x60
jne 0x462f1a
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x462f1a
mov dword [ebp - 0x1c0], esi
xor eax, eax
mov dword [ebp - 0x1c4], eax
inc dword [ebp - 0x1c4]
xor ecx, ecx
mov edx, dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1c0]
mov cl, byte [edx + 1]
xor edx, edx
shl ecx, 8
mov dl, byte [eax + 2]
or ecx, edx
add dword [ebp - 0x1c0], ecx
mov ecx, dword [ebp - 0x1c0]
mov al, byte [ecx]
cmp al, 0x55
jne 0x462e8e
mov dl, byte [esi + 3]
cmp dl, 0x66
jne 0x462ee9
mov ecx, dword [ebp - 0x1c4]
dec ecx
jle 0x462ee0
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x36
jmp 0x463504
mov dword [ebp - 0x20], 0x66
jmp 0x462f1a
mov edx, dword [ebp - 0x1c4]
cmp edx, 2
jle 0x462f02
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1b
jmp 0x463504
mov eax, dword [ebp - 0x1c4]
dec eax
jne 0x462f1a
or edx, 0xffffffff
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], edx
mov eax, dword [ebp - 0x68]
mov cl, byte [eax]
cmp cl, 0x29
je 0x462f32
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xe
jmp 0x463504
mov edx, dword [ebp + 8]
test edx, edx
je 0x462f89
mov ecx, dword [ebp + 8]
mov eax, 0x7fffffeb
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffffa
sub eax, edx
cmp eax, ecx
jge 0x462f5d
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x14
jmp 0x463504
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x50]
add edx, 0xfffffffa
add dword [ecx], edx
mov byte [esi], 0x5e
inc esi
mov byte [esi], 0
mov byte [esi + 1], 3
add esi, 2
mov byte [esi], 0x55
inc esi
mov byte [esi], 0
mov byte [esi + 1], 3
add esi, 2
jmp 0x4634fc
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
cmp eax, 0x66
je 0x4634fc
mov edx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x20]
cmp edx, 0x5d
jl 0x463026
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x462fe5
mov eax, dword [ebp - 0xc8]
test eax, eax
jl 0x462fd5
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x64], 1
jmp 0x462fdc
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
jmp 0x46300a
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jl 0x46300a
mov eax, dword [ebp - 0xc4]
test eax, eax
jge 0x46300a
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x44]
or edx, ecx
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
test eax, eax
jl 0x4634fc
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x30], edx
jmp 0x4634fc
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x58
jne 0x4634fc
mov eax, dword [ebp - 0xc4]
test eax, eax
jl 0x4634fc
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x30], edx
jmp 0x4634fc
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x48]
push eax
push 0
lea eax, [ebp - 0x68]
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebp + 0x1c]
call fcn.0045d748
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x463504
test edi, edi
jge 0x463390
mov ecx, edi
neg ecx
cmp ecx, 0x1a
jne 0x4630b2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x5c
jne 0x4630a6
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 2]
cmp al, 0x45
jne 0x4630a6
add dword [ebp - 0x68], 2
jmp 0x4634fc
mov dword [ebp - 0x60], 1
jmp 0x4634fc
mov edx, edi
neg edx
cmp edx, 0x19
je 0x4634fc
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x4630e0
mov eax, edi
neg eax
cmp eax, 5
jle 0x4630e0
mov edx, edi
neg edx
cmp edx, 0x17
jge 0x4630e0
mov dword [ebp - 0x2c], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov edx, edi
neg edx
mov dword [ebp - 0x38], ecx
cmp edx, 0x1b
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
jne 0x463208
mov ecx, dword [ebx + 0x20]
mov dword [ebp - 0x78], ecx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x3c
jne 0x463113
mov ecx, 0x3e
jmp 0x463118
mov ecx, 0x27
mov dword [ebp - 0xcc], ecx
xor eax, eax
mov dword [ebp - 0xc0], eax
xor edx, edx
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x2b
je 0x4631ce
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x2d
je 0x4631ce
mov dword [ebp - 0x1c8], 1
mov eax, dword [ebp - 0x68]
inc eax
jmp 0x46317e
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 4
jne 0x463170
xor edx, edx
mov dword [ebp - 0x1c8], edx
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebx + 0xc]
test byte [edx + ecx], 0x10
je 0x463192
inc eax
mov cl, byte [eax]
test cl, cl
je 0x463192
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebp - 0xcc]
cmp edx, ecx
jne 0x46315b
movzx eax, byte [eax]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x4631ad
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x39
jmp 0x4634fc
mov ecx, dword [ebp - 0x1c8]
test ecx, ecx
je 0x4631bf
inc dword [ebp - 0x68]
jmp 0x46298b
mov dword [ebp - 0xa4], 1
jmp 0x462809
mov eax, dword [ebp - 0x68]
add eax, 2
jmp 0x4631d7
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x4769d1], 4
jne 0x4631d6
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
je 0x463200
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x39
jmp 0x4634fc
inc dword [ebp - 0x68]
jmp 0x46298b
mov ecx, edi
neg ecx
cmp ecx, 0x1c
jne 0x46326e
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x3c
je 0x463231
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x27
je 0x463231
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x7b
jne 0x46326e
xor eax, eax
mov dword [ebp - 0xa4], eax
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x3c
jne 0x46324d
mov eax, 0x3e
jmp 0x463263
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x27
jne 0x46325e
mov eax, 0x27
jmp 0x463263
mov eax, 0x7d
mov dword [ebp - 0xcc], eax
jmp 0x462809
mov edx, edi
neg edx
cmp edx, 0x1d
jl 0x4632f3
neg edi
add edi, 0xffffffe3
mov dword [ebp - 0xb8], edi
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x463291
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x70], esi
mov byte [esi], 0x51
inc esi
mov eax, dword [ebp - 0xb8]
sar eax, 8
mov byte [esi], al
mov dl, byte [ebp - 0xb8]
and dl, 0xff
mov byte [esi + 1], dl
add esi, 2
mov ecx, dword [ebp - 0xb8]
cmp ecx, 0x20
jge 0x4632cc
mov ecx, dword [ebp - 0xb8]
mov eax, 1
shl eax, cl
jmp 0x4632d1
mov eax, 1
or dword [ebx + 0x3c], eax
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x38]
cmp edx, ecx
jle 0x4634fc
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x38], eax
jmp 0x4634fc
mov edx, edi
neg edx
cmp edx, 0xf
je 0x463305
mov ecx, edi
neg ecx
cmp ecx, 0x10
jne 0x463369
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x1cc]
call fcn.0045db24
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
test edx, edx
jl 0x463504
neg edi
cmp edi, 0x10
mov dword [ebp - 0x70], esi
sete cl
and ecx, 1
mov eax, dword [ebp - 0x1cc]
cmp ecx, eax
je 0x46334d
mov dl, 0x10
jmp 0x46334f
mov dl, 0xf
mov byte [esi], dl
inc esi
mov al, byte [ebp - 0x1d4]
mov byte [esi], al
inc esi
mov cl, byte [ebp - 0x1d0]
mov byte [esi], cl
inc esi
jmp 0x4634fc
mov eax, edi
neg eax
cmp eax, 5
jle 0x46337f
mov edx, edi
neg edx
cmp edx, 0x17
jge 0x46337f
mov ecx, esi
jmp 0x463381
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov eax, edi
neg al
mov byte [esi], al
inc esi
jmp 0x4634fc
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4633b1
cmp edi, 0x7f
jle 0x4633b1
lea edx, [ebp - 0xd8]
mov eax, edi
call fcn.0046e374
mov dword [ebp - 0xd0], eax
jmp 0x463417
mov ecx, edi
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd0], 1
jmp 0x463417
mov dword [ebp - 0xd0], 1
mov eax, edi
mov byte [ebp - 0xd8], al
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x463417
cmp edi, 0xc0
jl 0x463417
jmp 0x463403
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0xd0]
mov al, byte [ecx]
mov byte [ebp + edx - 0xd8], al
inc dword [ebp - 0xd0]
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx + 1]
and eax, 0xc0
cmp eax, 0x80
je 0x4633e8
mov dword [ebp - 0x70], esi
test byte [ebp - 0x48], 1
je 0x463424
mov dl, 0x1d
jmp 0x463426
mov dl, 0x1c
mov byte [esi], dl
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x1dc], eax
inc esi
mov edx, dword [ebp - 0xd0]
xor edi, edi
cmp edi, edx
jge 0x46345d
mov ecx, dword [ebp - 0x1dc]
mov al, byte [ecx]
mov byte [esi], al
inc esi
inc edi
inc dword [ebp - 0x1dc]
mov edx, dword [ebp - 0xd0]
cmp edi, edx
jl 0x463441
mov cl, byte [ebp - 0xd8]
cmp cl, 0xd
je 0x463472
mov al, byte [ebp - 0xd8]
cmp al, 0xa
jne 0x463476
or dword [ebx + 0x44], 0x20
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x4634ce
mov dword [ebp - 0x38], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0xd0]
dec eax
je 0x46349b
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x4634c3
xor ecx, ecx
mov cl, byte [ebp - 0xd8]
mov eax, dword [ebp - 0x3c]
or ecx, eax
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0xd0]
dec edx
je 0x4634fc
xor ecx, ecx
mov cl, byte [esi - 1]
mov eax, dword [ebx + 0x48]
or ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x4634fc
or edx, 0xffffffff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
jmp 0x4634fc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0xd0]
dec eax
je 0x4634ea
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x4634fc
xor ecx, ecx
mov cl, byte [esi - 1]
mov eax, dword [ebp - 0x3c]
or ecx, eax
mov edx, dword [ebx + 0x48]
or ecx, edx
mov dword [ebp - 0x30], ecx
inc dword [ebp - 0x68]
jmp 0x45f697
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x68]
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18