Function at 0x4bcbf8
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 0x4bcc9e
mov eax, pe_nt_image_headers32
jmp 0x4bcca0
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 0x4bcd4d
mov edx, dword [ebx + 0x10]
add edx, 0x1000
cmp esi, edx
jbe 0x4bcccf
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x34
jmp 0x4c0b10
mov eax, dword [ebp - 0x54]
cmp esi, eax
jae 0x4bccd9
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 0x4bccfe
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x14
jmp 0x4c0b10
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 0x4bcd45
mov edx, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x58]
cmp edx, ecx
jbe 0x4bcd48
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.004bac2c
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 0x4bcd48
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x54], esi
jmp 0x4bcd6a
mov eax, dword [ebx + 0x10]
add eax, 0x1000
mov edx, dword [ebx + 0x20]
cmp eax, edx
jae 0x4bcd6a
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x34
jmp 0x4c0b10
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x4bcdd2
test edi, edi
je 0x4bcdd2
cmp edi, 0x5c
jne 0x4bcd92
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x45
jne 0x4bcd92
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x68]
jmp 0x4c0b08
mov edx, dword [ebp - 0x74]
test edx, edx
je 0x4bcdb2
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x4bcdad
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
call fcn.004bc06c
xor eax, eax
mov dword [ebp - 0x74], eax
test byte [ebp - 0x47], 0x40
je 0x4c09d1
mov dword [ebp - 0x74], esi
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, esi
call fcn.004bc040
mov esi, eax
jmp 0x4c09d1
cmp edi, 0x2a
je 0x4bcdf7
cmp edi, 0x2b
je 0x4bcdf7
cmp edi, 0x3f
je 0x4bcdf7
cmp edi, 0x7b
jne 0x4bcdf3
mov eax, dword [ebp - 0x68]
inc eax
call fcn.004bb258
test eax, eax
jne 0x4bcdf7
xor edx, edx
jmp 0x4bcdfc
mov edx, 1
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
jne 0x4bce37
mov eax, dword [ebp - 0x74]
test eax, eax
je 0x4bce37
mov edx, dword [ebp - 0x4c]
add dword [ebp - 0x4c], 0xffffffff
test edx, edx
jg 0x4bce37
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x4bce32
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x74]
call fcn.004bc06c
xor eax, eax
mov dword [ebp - 0x74], eax
test byte [ebp - 0x48], 8
je 0x4bcef2
mov edx, dword [ebx + 0xc]
test byte [edx + edi], 1
jne 0x4c0b08
cmp edi, 0x23
jne 0x4bcef2
jmp 0x4bced3
mov ecx, dword [ebx + 0x50]
test ecx, ecx
je 0x4bce8f
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0x68]
cmp eax, edx
jbe 0x4bce84
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.004cafa0
test eax, eax
jne 0x4bce88
xor edx, edx
jmp 0x4bcec6
mov edx, 1
jmp 0x4bcec6
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x54]
sub ecx, eax
mov edx, dword [ebp - 0x68]
cmp ecx, edx
jb 0x4bcebd
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
mov dl, byte [ebx + 0x58]
cmp al, dl
jne 0x4bcebd
mov ecx, dword [ebx + 0x54]
dec ecx
je 0x4bcec1
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
mov cl, byte [ebx + 0x59]
cmp dl, cl
je 0x4bcec1
xor edx, edx
jmp 0x4bcec6
mov edx, 1
test edx, edx
je 0x4bced3
mov eax, dword [ebx + 0x54]
dec eax
add dword [ebp - 0x68], eax
jmp 0x4bcee3
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
test al, al
jne 0x4bce59
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
test cl, cl
jne 0x4c0b08
xor edi, edi
test byte [ebp - 0x47], 0x40
je 0x4bcf13
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x4bcf13
mov dword [ebp - 0x74], esi
mov ecx, ebx
mov edx, dword [ebp - 0x68]
mov eax, esi
call fcn.004bc040
mov esi, eax
mov edx, edi
cmp edx, 0x3f
jg 0x4bcf61
je 0x4be640
cmp edx, 0x29
jg 0x4bcf43
je 0x4bcf99
sub edx, 1
jb 0x4bcf99
sub edx, 0x23
je 0x4bd019
sub edx, 4
je 0x4bf364
jmp 0x4c09d1
sub edx, 0x2a
je 0x4be622
dec edx
je 0x4be630
sub edx, 3
je 0x4bd027
jmp 0x4c09d1
cmp edx, 0x5e
jg 0x4bcf88
je 0x4bcff6
sub edx, 0x5b
je 0x4bd071
dec edx
je 0x4c065a
dec edx
je 0x4bd059
jmp 0x4c09d1
sub edx, 0x7b
je 0x4be5ef
dec edx
je 0x4bcf99
jmp 0x4c09d1
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 0x4bcfec
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 0x4bcfe2
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x14
jmp 0x4c0b10
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
sub esi, ecx
add dword [eax], esi
mov eax, 1
jmp 0x4c0b1a
test byte [ebp - 0x48], 2
je 0x4bd00b
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x4bd00b
mov dword [ebp - 0x2c], 0xffffffff
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov byte [esi], 0x1a
inc esi
jmp 0x4c0b08
xor eax, eax
mov dword [ebp - 0x70], eax
mov byte [esi], 0x1b
inc esi
jmp 0x4c0b08
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x4bd036
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 0x4bd04f
mov dl, 0xd
jmp 0x4bd051
mov dl, 0xc
mov byte [esi], dl
inc esi
jmp 0x4c0b08
test byte [ebx + 0x43], 2
je 0x4c09d1
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x40
jmp 0x4c0b10
mov dword [ebp - 0x70], esi
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3a
je 0x4bd094
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x2e
je 0x4bd094
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x3d
jne 0x4bd0c3
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
call fcn.004bbef8
test eax, eax
je 0x4bd0c3
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3a
jne 0x4bd0b4
mov edx, 0xd
jmp 0x4bd0b9
mov edx, 0x1f
mov eax, dword [ebp + 0x1c]
mov dword [eax], edx
jmp 0x4c0b10
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 0x4bd107
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x45
jne 0x4bd0e9
inc dword [ebp - 0x68]
jmp 0x4bd0cb
push 3
push 0x512fcd
mov ecx, dword [ebp - 0x68]
inc ecx
push ecx
call fcn.004bac3c
add esp, 0xc
test eax, eax
jne 0x4bd122
add dword [ebp - 0x68], 3
jmp 0x4bd0cb
mov eax, dword [ebp - 0x94]
test eax, eax
jne 0x4bd122
cmp edi, 0x5e
jne 0x4bd122
mov dword [ebp - 0x94], 1
jmp 0x4bd0cb
cmp edi, 0x5d
jne 0x4bd15a
test byte [ebx + 0x43], 2
je 0x4bd15a
mov edx, dword [ebp - 0x94]
test edx, edx
je 0x4bd13b
mov cl, 0xd
jmp 0x4bd13d
mov cl, 0x6d
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x4bd14f
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x38], edx
jmp 0x4c0b08
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.004bac34
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 0x4be3dc
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4bd273
cmp edi, 0x7f
jle 0x4bd273
mov edx, dword [ebp - 0x68]
movzx edi, byte [edx]
cmp edi, 0xc0
jl 0x4bd273
mov eax, edi
and eax, 0x3f
xor edx, edx
mov dl, byte [eax + 0x513438]
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 + 0x51307c]
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 0x4bd26a
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 0x4bd230
mov eax, dword [ebp - 0xe4]
add dword [ebp - 0x68], eax
mov edx, dword [ebp + 8]
test edx, edx
je 0x4bd299
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 0x4bd2c5
cmp edi, 0x5c
jne 0x4bddf7
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x45
jne 0x4bddf7
xor eax, eax
mov dword [ebp - 0x60], eax
inc dword [ebp - 0x68]
jmp 0x4be3bb
cmp edi, 0x5b
jne 0x4bd56d
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x3a
je 0x4bd2f2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x2e
je 0x4bd2f2
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x3d
jne 0x4bd56d
lea edx, [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
call fcn.004bbef8
test eax, eax
je 0x4bd56d
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 0x4bd32f
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1f
jmp 0x4c0b10
add dword [ebp - 0x68], 2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5e
jne 0x4bd354
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.004bbf3c
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
test edx, edx
jge 0x4bd382
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1e
jmp 0x4c0b10
test byte [ebp - 0x48], 1
je 0x4bd39b
mov eax, dword [ebp - 0xf0]
cmp eax, 2
jg 0x4bd39b
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 + 0x512474]
mov ecx, dword [ebp - 0xfc]
add edx, ecx
push edx
lea eax, [ebp - 0x21c]
push eax
call fcn.004bac24
add esp, 0xc
mov edx, dword [ebp - 0xf0]
mov ecx, dword [edx*4 + 0x512478]
mov dword [ebp - 0xf4], ecx
mov eax, dword [ebp - 0xf0]
mov edx, dword [eax*4 + 0x51247c]
mov dword [ebp - 0xf8], edx
mov ecx, dword [ebp - 0xf4]
test ecx, ecx
jl 0x4bd49d
mov eax, dword [ebp - 0xf8]
test eax, eax
jl 0x4bd456
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 0x4bd432
jmp 0x4bd49d
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 0x4bd479
mov edx, dword [ebp - 0xf8]
test edx, edx
jge 0x4bd4ad
neg dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
dec ecx
jne 0x4bd4bf
and byte [ebp - 0x21b], 0xc3
jmp 0x4bd4d1
mov eax, dword [ebp - 0xf8]
cmp eax, 2
jne 0x4bd4d1
and byte [ebp - 0x211], 0x7f
mov edx, dword [ebp - 0xec]
test edx, edx
je 0x4bd51b
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 0x4bd4f5
jmp 0x4bd557
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 0x4bd535
mov ecx, dword [ebp - 0x6c]
inc ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0xac], 0xa
jmp 0x4be3bb
cmp edi, 0x5c
jne 0x4bddf7
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.004bad54
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x4c0b10
mov ecx, edi
neg ecx
cmp ecx, 5
jne 0x4bd5a9
mov edi, 8
jmp 0x4bd60a
mov eax, edi
neg eax
cmp eax, 0x16
jne 0x4bd5b9
mov edi, 0x58
jmp 0x4bd60a
mov eax, edi
neg eax
cmp eax, 0x11
jne 0x4bd5c9
mov edi, 0x52
jmp 0x4bd60a
mov eax, edi
neg eax
cmp eax, 0x1a
jne 0x4bd5fd
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x5c
jne 0x4bd5f1
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 2]
cmp dl, 0x45
jne 0x4bd5f1
add dword [ebp - 0x68], 2
jmp 0x4be3bb
mov dword [ebp - 0x60], 1
jmp 0x4be3bb
mov ecx, edi
neg ecx
cmp ecx, 0x19
je 0x4be3bb
test edi, edi
jge 0x4bddf7
mov eax, dword [ebx + 8]
mov dword [ebp - 0x100], eax
add dword [ebp - 0xac], 2
mov edx, dword [ebp + 8]
test edx, edx
jne 0x4bd82a
mov ecx, edi
neg ecx
add ecx, 0xfffffffa
cmp ecx, 5
ja 0x4bd860
jmp dword [ecx*4 + 0x4bca44]
cmp edi, 0xfffffff9
je 0x4be3bb
cmp edi, 0xfffffffa
je 0x4be3bb
cmp edi, 0xfffffff5
je 0x4be3bb
cmp edi, 0xfffffff6
je 0x4be3bb
cmp edi, 0xfffffff7
je 0x4be3bb
cmp edi, 0xfffffff8
je 0x4be3bb
mov eax, edi
neg eax
cmp eax, 0x13
jne 0x4bd98d
or byte [ebp - 0x1fb], 2
or byte [ebp - 0x1f8], 1
or byte [ebp - 0x1e8], 1
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4be3bb
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.004cb290
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.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x200a
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
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.004cb290
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.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
mov ecx, edi
neg ecx
cmp ecx, 0x12
jne 0x4bdbaa
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x104], 0xff
mov edx, edi
dec edx
je 0x4bd9c3
sub edx, 3
je 0x4bd9cc
sub edx, 0x10
je 0x4bd9d5
jmp 0x4bd9dc
xor dword [ebp - 0x104], 2
jmp 0x4bd9dc
xor dword [ebp - 0x104], 1
jmp 0x4bd9dc
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 0x4bd9a8
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4be3bb
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x167f
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x180d
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x1fff
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x202e
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x205e
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x2fff
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x84]
call fcn.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
mov ecx, edi
neg ecx
cmp ecx, 0x15
jne 0x4bdc28
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 0x4be3bb
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x2029
mov edx, dword [ebp - 0x84]
call fcn.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
mov ecx, edi
neg ecx
cmp ecx, 0x14
jne 0x4bdd25
xor edi, edi
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x108], 0xff
mov edx, edi
dec edx
je 0x4bdc59
sub edx, 0xf
je 0x4bdc77
jmp 0x4bdc7e
xor dword [ebp - 0x108], 4
xor dword [ebp - 0x108], 8
xor dword [ebp - 0x108], 0x10
xor dword [ebp - 0x108], 0x20
jmp 0x4bdc7e
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 0x4bdc43
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4be3bb
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x2027
mov edx, dword [ebp - 0x84]
call fcn.004cb290
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.004cb290
add dword [ebp - 0x84], eax
mov eax, 0x7fffffff
mov edx, dword [ebp - 0x84]
call fcn.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
mov ecx, edi
neg ecx
cmp ecx, 0x10
je 0x4bdd3b
mov eax, edi
neg eax
cmp eax, 0xf
jne 0x4bddcb
mov edx, dword [ebp + 0x1c]
lea ecx, [ebp - 0x110]
push edx
lea edx, [ebp - 0x10c]
lea eax, [ebp - 0x68]
call fcn.004bb130
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
test ecx, ecx
jl 0x4c0b10
mov dword [ebp - 0x7c], 1
neg edi
cmp edi, 0x10
sete al
and eax, 1
mov edx, dword [ebp - 0x10c]
cmp eax, edx
je 0x4bdd87
mov cl, 3
jmp 0x4bdd89
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 0x4be3bb
test byte [ebp - 0x48], 0x40
je 0x4bdddf
mov eax, dword [ebp + 0x1c]
mov dword [eax], 7
jmp 0x4c0b10
sub dword [ebp - 0xac], 2
mov edx, dword [ebp - 0x68]
movzx edi, byte [edx]
jmp 0x4bddf7
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 0x4bde0d
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 2]
cmp dl, 0x45
je 0x4bddee
mov ecx, dword [ebp - 0x68]
cmp edi, 0xd
mov dword [ebp - 0xdc], ecx
je 0x4bde20
cmp edi, 0xa
jne 0x4bde24
or dword [ebx + 0x44], 0x20
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x4be2a4
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x2d
jne 0x4be2a4
add dword [ebp - 0x68], 2
jmp 0x4bde48
add dword [ebp - 0x68], 2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5c
jne 0x4bde86
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x45
je 0x4bde44
jmp 0x4bde86
add dword [ebp - 0x68], 2
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x5c
jne 0x4bde7d
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x45
jne 0x4bde7d
add dword [ebp - 0x68], 2
jmp 0x4bde86
mov dword [ebp - 0x60], 1
jmp 0x4bde9a
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x5c
jne 0x4bde9a
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x51
je 0x4bde5e
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
test dl, dl
je 0x4bdeb4
mov ecx, dword [ebp - 0x60]
test ecx, ecx
jne 0x4bdec2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x5d
jne 0x4bdec2
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x68], ecx
jmp 0x4be2a4
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4bdf96
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 0x4bdfa3
mov edx, dword [ebp - 0x118]
and edx, 0x3f
xor ecx, ecx
mov cl, byte [edx + 0x513438]
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 + 0x51307c]
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 0x4bdf8b
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 0x4bdf50
mov edx, dword [ebp - 0x120]
add dword [ebp - 0x68], edx
jmp 0x4bdfa3
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 0x4be041
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x5c
jne 0x4be041
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.004bad54
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x4c0b10
mov ecx, dword [ebp - 0x118]
test ecx, ecx
jge 0x4be041
mov eax, dword [ebp - 0x118]
cmp eax, 0xfffffffb
jne 0x4be005
mov dword [ebp - 0x118], 8
jmp 0x4be041
mov edx, dword [ebp - 0x118]
cmp edx, 0xffffffea
jne 0x4be01c
mov dword [ebp - 0x118], 0x58
jmp 0x4be041
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xffffffef
jne 0x4be033
mov dword [ebp - 0x118], 0x52
jmp 0x4be041
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x68], eax
jmp 0x4be2a4
mov edx, dword [ebp - 0x118]
cmp edi, edx
jle 0x4be059
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 8
jmp 0x4c0b10
mov eax, dword [ebp - 0x118]
cmp edi, eax
je 0x4be2a4
mov edx, dword [ebp - 0x118]
cmp edx, 0xd
je 0x4be07d
mov ecx, dword [ebp - 0x118]
cmp ecx, 0xa
jne 0x4be081
or dword [ebx + 0x44], 0x20
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4be20c
mov edx, dword [ebp - 0x118]
cmp edx, 0xff
jg 0x4be0b3
test byte [ebp - 0x48], 1
je 0x4be20c
mov ecx, dword [ebp - 0x118]
cmp ecx, 0x7f
jle 0x4be20c
mov dword [ebp - 0x7c], 1
test byte [ebp - 0x48], 1
je 0x4be1ce
mov dword [ebp - 0x130], edi
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x134], eax
jmp 0x4be1a8
mov edx, dword [ebp - 0x128]
cmp edx, edi
jb 0x4be0f9
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x118]
cmp ecx, eax
jbe 0x4be1a8
mov edx, dword [ebp - 0x128]
cmp edi, edx
jbe 0x4be11b
mov ecx, edi
dec ecx
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
ja 0x4be11b
mov edi, dword [ebp - 0x128]
jmp 0x4be1a8
mov eax, dword [ebp - 0x118]
mov edx, dword [ebp - 0x12c]
cmp eax, edx
jae 0x4be14a
mov ecx, dword [ebp - 0x118]
inc ecx
mov eax, dword [ebp - 0x128]
cmp ecx, eax
jb 0x4be14a
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x118], edx
jmp 0x4be1a8
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x12c]
cmp ecx, eax
jne 0x4be16b
mov edx, dword [ebp - 0x84]
mov byte [edx], 1
inc dword [ebp - 0x84]
jmp 0x4be191
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.004cb290
add dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x12c]
call fcn.004cb290
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.004bc094
test eax, eax
jne 0x4be0db
mov eax, dword [ebp - 0x84]
mov byte [eax], 2
mov eax, edi
inc dword [ebp - 0x84]
mov edx, dword [ebp - 0x84]
call fcn.004cb290
add dword [ebp - 0x84], eax
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x118]
call fcn.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
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 0x4be3bb
mov edx, dword [ebp - 0x118]
cmp edi, edx
jg 0x4be3bb
mov ecx, edi
mov al, 1
and ecx, 7
mov edx, edi
shl al, cl
test edx, edx
jns 0x4be252
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x1fc], al
test byte [ebp - 0x48], 1
je 0x4be294
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 0x4be28a
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x1fc], dl
inc edi
mov edx, dword [ebp - 0x118]
cmp edi, edx
jle 0x4be240
jmp 0x4be3bb
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x4be367
cmp edi, 0xff
jg 0x4be2ca
test byte [ebp - 0x48], 1
je 0x4be367
cmp edi, 0x7f
jle 0x4be367
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.004cb290
add dword [ebp - 0x84], eax
test byte [ebp - 0x48], 1
je 0x4be3bb
mov edx, edi
test edx, edx
jns 0x4be306
add edx, 0x7f
sar edx, 7
xor ecx, ecx
mov cl, byte [edx + 0x51e3a4]
shl ecx, 7
mov eax, edi
and eax, 0x8000007f
jns 0x4be322
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx edx, word [ecx*2 + 0x5145a4]
mov ecx, dword [edx*8 + 0x513760]
add ecx, edi
mov dword [ebp - 0x13c], ecx
cmp ecx, edi
je 0x4be3bb
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.004cb290
add dword [ebp - 0x84], eax
jmp 0x4be3bb
mov ecx, edi
mov dl, 1
and ecx, 7
mov eax, edi
shl dl, cl
test eax, eax
jns 0x4be379
add eax, 7
sar eax, 3
or byte [ebp + eax - 0x1fc], dl
test byte [ebp - 0x48], 1
je 0x4be3af
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 0x4be3a5
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 0x4be3dc
cmp edi, 0x5d
jne 0x4bd1a9
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x4bd1a9
test edi, edi
jne 0x4be3ee
mov edx, dword [ebp + 0x1c]
mov dword [edx], 6
jmp 0x4c0b10
mov ecx, dword [ebp - 0xac]
dec ecx
jne 0x4be4a8
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x4be4a8
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4be428
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x4be428
mov eax, dword [ebp - 0xb0]
cmp eax, 0x80
jge 0x4be4a8
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x4be45f
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x4be447
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 0x4c0b08
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4be48d
mov edx, dword [ebp - 0xb0]
cmp edx, 0x7f
jle 0x4be48d
lea edx, [ebp - 0xd8]
mov eax, dword [ebp - 0xb0]
call fcn.004cb290
mov dword [ebp - 0xd0], eax
jmp 0x4c0a23
mov cl, byte [ebp - 0xb0]
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd0], 1
jmp 0x4c0a23
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffe
jne 0x4be4b7
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 0x4be56f
mov edx, dword [ebp - 0x98]
test edx, edx
jne 0x4be56f
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 0x4be500
mov dl, 1
jmp 0x4be502
xor edx, edx
mov byte [esi], dl
mov eax, dword [ebp - 0xac]
test eax, eax
jle 0x4be545
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.004bac2c
add esp, 0xc
lea edx, [ebp - 0x1fc]
push 0x20
push edx
push esi
call fcn.004bac24
add esp, 0xc
mov esi, dword [ebp - 0x84]
add esi, 0x20
jmp 0x4be54b
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 0x4c0b08
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x98]
cmp eax, edx
jne 0x4be583
mov cl, 0x4e
jmp 0x4be585
mov cl, 0x4f
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x94]
test eax, eax
je 0x4be5d5
mov edx, dword [ebp + 8]
test edx, edx
jne 0x4be5e7
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 0x4be5af
jmp 0x4be5e7
push 0x20
lea ecx, [ebp - 0x1fc]
push ecx
push esi
call fcn.004bac24
add esp, 0xc
add esi, 0x20
jmp 0x4c0b08
mov eax, dword [ebp - 0xa0]
test eax, eax
je 0x4c09d1
mov edx, dword [ebp + 0x1c]
push edx
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 0x68]
inc eax
call fcn.004bb2cc
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx]
test eax, eax
jne 0x4c0b10
jmp 0x4be64c
xor edx, edx
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x4be64c
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x1c], 0xffffffff
jmp 0x4be64c
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x4be661
mov edx, dword [ebp + 0x1c]
mov dword [edx], 9
jmp 0x4c0b10
mov ecx, dword [ebp - 0x18]
test ecx, ecx
jne 0x4be674
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 0x4be682
xor edx, edx
jmp 0x4be687
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 0x4be6bc
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x9c], 1
inc dword [ebp - 0x68]
jmp 0x4be6d8
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x3f
jne 0x4be6d2
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0x68]
jmp 0x4be6d8
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x1c
je 0x4be6ef
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x1d
jne 0x4be7ba
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x4be74c
test byte [esi - 1], 0x80
je 0x4be74c
lea edx, [esi - 1]
mov dword [ebp - 0x140], edx
jmp 0x4be70d
dec dword [ebp - 0x140]
mov ecx, dword [ebp - 0x140]
xor eax, eax
mov al, byte [ecx]
and eax, 0xc0
cmp eax, 0x80
je 0x4be707
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.004bac24
add esp, 0xc
or edi, 0x80
jmp 0x4be763
movzx edi, byte [esi - 1]
mov eax, dword [ebp - 0x18]
dec eax
jle 0x4be763
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 0x4be871
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x4be871
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.004bc130
test eax, eax
je 0x4be871
xor eax, eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x9c], 1
jmp 0x4be871
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x1e
jne 0x4be81b
mov dword [ebp - 0x14], 0xd
mov eax, dword [ebp - 0x70]
movzx edi, byte [eax + 1]
mov eax, dword [ebp - 0x9c]
test eax, eax
jne 0x4be871
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x4be871
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.004bc130
test eax, eax
je 0x4be871
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x9c], 1
jmp 0x4be871
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x17
jae 0x4beada
mov dword [ebp - 0x14], 0x1a
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x9c]
test eax, eax
movzx edi, byte [edx]
jne 0x4be871
mov edx, dword [ebp - 0x1c]
test edx, edx
jge 0x4be871
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.004bc130
test eax, eax
je 0x4be871
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 0x4be884
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0xf
jne 0x4be8a2
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 0x4be8b1
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 0x4bf354
mov edx, dword [ebp - 0x1c]
dec edx
je 0x4be8cf
or dword [ebx + 0x44], 1
mov ecx, dword [ebp - 0x14]
add dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4be926
mov edx, dword [ebp - 0x1c]
inc edx
jne 0x4be8f0
mov cl, byte [ebp - 0x10]
add cl, 0x1f
mov byte [esi], cl
inc esi
jmp 0x4bea84
mov eax, dword [ebp - 0x1c]
dec eax
jne 0x4be904
mov dl, byte [ebp - 0x10]
add dl, 0x23
mov byte [esi], dl
inc esi
jmp 0x4bea84
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 0x4bea84
mov ecx, dword [ebp - 0x18]
dec ecx
jne 0x4be974
mov eax, dword [ebp - 0x1c]
inc eax
jne 0x4be940
mov dl, byte [ebp - 0x10]
add dl, 0x21
mov byte [esi], dl
inc esi
jmp 0x4bea84
mov esi, dword [ebp - 0x144]
mov eax, dword [ebp - 0x1c]
dec eax
je 0x4bf354
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 0x4bea84
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 0x4be9f4
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x4be9c5
cmp edi, 0x80
jl 0x4be9c5
mov eax, edi
lea edx, [ebp - 0x90]
and eax, 7
push eax
push edx
push esi
call fcn.004bac24
add esp, 0xc
mov ecx, edi
and ecx, 7
add esi, ecx
jmp 0x4be9e6
mov eax, edi
mov byte [esi], al
inc esi
mov edx, dword [ebp - 0x148]
test edx, edx
jl 0x4be9e6
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 0x4bea84
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
je 0x4bea84
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4bea30
cmp edi, 0x80
jl 0x4bea30
mov ecx, edi
lea eax, [ebp - 0x90]
and ecx, 7
push ecx
push eax
push esi
call fcn.004bac24
add esp, 0xc
mov edx, edi
and edx, 7
add esi, edx
jmp 0x4bea35
mov ecx, edi
mov byte [esi], cl
inc esi
mov eax, dword [ebp - 0x148]
test eax, eax
jl 0x4bea51
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 0x4bea68
mov cl, byte [ebp - 0x10]
add cl, 0x23
mov byte [esi], cl
inc esi
jmp 0x4bea84
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 0x4beab0
cmp edi, 0x80
jl 0x4beab0
mov edx, edi
lea ecx, [ebp - 0x90]
and edx, 7
push edx
push ecx
push esi
call fcn.004bac24
add esp, 0xc
and edi, 7
add esi, edi
jmp 0x4beab5
mov eax, edi
mov byte [esi], al
inc esi
mov edx, dword [ebp - 0x148]
test edx, edx
jl 0x4bf17f
mov cl, byte [ebp - 0x148]
mov byte [esi], cl
inc esi
mov al, byte [ebp - 0x14c]
mov byte [esi], al
inc esi
jmp 0x4bf17f
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x4e
je 0x4beb05
mov eax, dword [ebp - 0x70]
mov dl, byte [eax]
cmp dl, 0x4f
je 0x4beb05
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x50
je 0x4beb05
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x51
jne 0x4bebab
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4beb14
mov esi, dword [ebp - 0x70]
jmp 0x4bf354
mov eax, dword [ebp - 0x1c]
dec eax
je 0x4beb1e
or dword [ebx + 0x44], 1
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x4beb38
mov ecx, dword [ebp - 0x1c]
inc ecx
jne 0x4beb38
mov al, byte [ebp - 0x10]
add al, 0x46
mov byte [esi], al
inc esi
jmp 0x4bf17f
mov edx, dword [ebp - 0x18]
dec edx
jne 0x4beb51
mov ecx, dword [ebp - 0x1c]
inc ecx
jne 0x4beb51
mov al, byte [ebp - 0x10]
add al, 0x48
mov byte [esi], al
inc esi
jmp 0x4bf17f
mov edx, dword [ebp - 0x18]
test edx, edx
jne 0x4beb6b
mov ecx, dword [ebp - 0x1c]
dec ecx
jne 0x4beb6b
mov al, byte [ebp - 0x10]
add al, 0x4a
mov byte [esi], al
inc esi
jmp 0x4bf17f
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 0x4beb92
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 0x4bf17f
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x5e
je 0x4bebd5
mov edx, dword [ebp - 0x70]
mov cl, byte [edx]
cmp cl, 0x5f
je 0x4bebd5
mov eax, dword [ebp - 0x70]
mov dl, byte [eax]
cmp dl, 0x5d
je 0x4bebd5
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x60
jne 0x4bf164
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 0x4bec0e
mov edx, dword [ebp - 0x70]
mov cl, byte [edx + 3]
cmp cl, 0x66
jne 0x4bec0e
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x37
jmp 0x4c0b10
mov edx, dword [ebp - 0x1c]
inc edx
jne 0x4bec5b
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 0x4bec1d
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 0x4bed52
mov eax, dword [ebp - 0x1c]
dec eax
jg 0x4becbb
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.004bbf8c
push edi
mov ecx, dword [ebp - 0x70]
push ecx
mov eax, dword [ebp - 0x70]
inc eax
push eax
call fcn.004bac2c
add esp, 0xc
inc esi
mov edx, dword [ebp - 0x1c]
test edx, edx
jne 0x4beca9
mov ecx, dword [ebp - 0x70]
mov byte [ecx], 0x6f
jmp 0x4bf354
mov edx, dword [ebp - 0x70]
mov al, byte [ebp - 0x10]
add al, 0x67
mov byte [edx], al
inc dword [ebp - 0x70]
jmp 0x4bed4a
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.004bbf8c
push edi
mov eax, dword [ebp - 0x70]
push eax
mov edx, dword [ebp - 0x70]
add edx, 4
push edx
call fcn.004bac2c
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 0x4bed0f
xor eax, eax
jmp 0x4bed1a
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 0x4bee86
mov edx, dword [ebp - 0x18]
dec edx
jle 0x4bee79
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4bedc4
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 [0x4bff24]
fnstsw ax
sahf
ja 0x4beda6
mov edx, dword [ebp + 8]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
sub ecx, eax
mov edx, dword [ebp - 0x164]
cmp ecx, edx
jge 0x4bedb4
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x14
jmp 0x4c0b10
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x164]
add dword [eax], edx
jmp 0x4bee79
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x4bedd8
mov eax, dword [ebp - 0x30]
test eax, eax
jge 0x4bedd8
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 0x4bee79
mov edx, dword [ebx + 0x20]
mov dword [ebp - 0x168], edx
push edi
mov ecx, dword [ebp - 0x70]
push ecx
push esi
call fcn.004bac24
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x168]
cmp eax, edx
jae 0x4bee57
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 0x4bee17
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 0x4bedf3
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
jle 0x4bee86
mov eax, dword [ebp - 0x18]
sub dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x1c]
test edx, edx
jl 0x4bf0a6
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4bef08
mov eax, dword [ebp - 0x1c]
test eax, eax
jle 0x4bef08
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 [0x4bff24]
fnstsw ax
sahf
ja 0x4beeea
mov edx, dword [ebp + 8]
mov ecx, 0x7fffffeb
mov eax, dword [edx]
sub ecx, eax
mov edx, dword [ebp - 0x16c]
cmp ecx, edx
jge 0x4beef8
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x14
jmp 0x4c0b10
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x16c]
add dword [eax], edx
jmp 0x4bf021
mov ecx, dword [ebp - 0x1c]
dec ecx
mov dword [ebp - 0x150], ecx
mov eax, dword [ebp - 0x150]
test eax, eax
jl 0x4bf021
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 0x4bef7d
mov byte [esi], 0x5e
inc esi
mov edx, dword [ebp - 0x158]
test edx, edx
jne 0x4bef4e
xor ecx, ecx
jmp 0x4bef58
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.004bac24
add esp, 0xc
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x170]
cmp eax, edx
jae 0x4bf002
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 0x4befb9
mov edx, 4
jmp 0x4befbe
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 0x4befe4
mov dl, 4
jmp 0x4befe6
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 0x4bef98
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 0x4bef20
mov edx, dword [ebp - 0x158]
test edx, edx
je 0x4bf17f
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 0x4bf060
xor ecx, ecx
jmp 0x4bf06e
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 0x4bf02f
jmp 0x4bf17f
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 0x4bf17f
mov edx, dword [ebp - 0x180]
mov cl, byte [edx]
cmp cl, 0x5d
je 0x4bf17f
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.004bbc30
test eax, eax
je 0x4bf134
mov edx, dword [ebp - 0x180]
add byte [edx], 3
jmp 0x4bf17f
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 0x4bf111
jmp 0x4bf17f
mov ecx, dword [ebp - 0x70]
mov al, byte [ecx]
cmp al, 0x6d
je 0x4bf354
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0xb
jmp 0x4c0b10
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x4bf354
mov eax, dword [ebp - 0x5c]
mov dl, byte [eax]
cmp dl, 0x27
je 0x4bf1aa
mov ecx, dword [ebp - 0x5c]
mov al, byte [ecx]
cmp al, 0x41
je 0x4bf1aa
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx]
cmp cl, 0x34
jne 0x4bf1e6
mov eax, dword [ebp - 0x5c]
mov dl, byte [eax]
cmp dl, 0x41
jne 0x4bf1d0
mov ecx, dword [ebp - 0x5c]
mov al, byte [ecx + 3]
cmp al, 0x10
je 0x4bf1c9
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx + 3]
cmp cl, 0xf
jne 0x4bf1d0
mov eax, 2
jmp 0x4bf1d2
xor eax, eax
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
xor edx, edx
mov dl, byte [ecx + 0x5133c8]
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 0x4bf354
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
add ecx, 0xffffffe1
cmp ecx, 0x20
ja 0x4bf2ee
mov cl, byte [ecx + 0x4be621]
jmp dword [ecx*4 + 0x4be642]
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.004bac2c
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 0x4c0b08
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 0x4bf4a5
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax + 1]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 2
je 0x4bf4a5
mov dword [ebp - 0x190], 0x51251c
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 0x4bf3cb
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3a
jne 0x4bf3f5
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3b
jmp 0x4c0b10
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x29
je 0x4bf40c
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3c
jmp 0x4c0b10
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x194]
sub ecx, eax
xor edi, edi
mov dword [ebp - 0x18c], ecx
jmp 0x4bf47b
mov eax, dword [edi*8 + 0x512438]
mov edx, dword [ebp - 0x18c]
cmp eax, edx
jne 0x4bf46c
mov ecx, dword [ebp - 0x18c]
push ecx
mov eax, dword [ebp - 0x190]
push eax
mov edx, dword [ebp - 0x194]
push edx
call fcn.004bac3c
add esp, 0xc
test eax, eax
jne 0x4bf46c
mov cl, byte [edi*8 + 0x51243c]
mov byte [esi], cl
mov al, byte [esi]
inc esi
cmp al, 0x6e
jne 0x4bf485
mov dword [ebx + 0x4c], 1
jmp 0x4bf485
mov edx, dword [edi*8 + 0x512438]
inc edx
add dword [ebp - 0x190], edx
inc edi
mov ecx, dword [0x512470]
cmp edi, ecx
jl 0x4bf421
mov eax, dword [0x512470]
cmp edi, eax
jl 0x4c0b08
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3c
jmp 0x4c0b10
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3f
jne 0x4c03b5
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3a
jg 0x4bf53e
je 0x4bf5c0
add ecx, 0xffffffdf
cmp ecx, 0x18
ja 0x4c020d
jmp dword [ecx*4 + 0x4be8da]
cmp ecx, 0x43
jg 0x4bf565
je 0x4bfb0a
sub ecx, 0x3c
je 0x4bfaa7
dec ecx
je 0x4bfa72
dec ecx
je 0x4bfafb
jmp 0x4c020d
sub ecx, 0x50
je 0x4bfbc0
sub ecx, 2
je 0x4bff8a
sub ecx, 0x2a
je 0x4bf5b6
jmp 0x4c020d
mov dword [ebp - 0xa8], 1
mov dword [ebp - 0x20], 0x5e
inc dword [ebp - 0x68]
jmp 0x4c03e3
mov dword [ebp - 0x20], 0x58
inc dword [ebp - 0x68]
jmp 0x4c03e3
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
sub al, 0x21
je 0x4bfac5
sub al, 0x1c
jne 0x4bfad5
mov dword [ebp - 0x20], 0x5a
add dword [ebp - 0x68], 2
jmp 0x4c03e3
mov dword [ebp - 0x20], 0x5b
add dword [ebp - 0x68], 2
jmp 0x4c03e3
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx + 1]
mov eax, dword [ebx + 0xc]
test byte [eax + ecx], 0x10
jne 0x4bfc10
inc dword [ebp - 0x68]
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x18
jmp 0x4c0b10
mov dword [ebp - 0x20], 0x5d
inc dword [ebp - 0x68]
jmp 0x4c03e3
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 0x4bfb3f
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 + 0x512ecd], 4
jne 0x4bfb22
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x29
je 0x4bfb69
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x27
jmp 0x4c0b10
mov ecx, dword [ebp - 0x1b4]
cmp ecx, 0xff
jle 0x4bfb85
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x26
jmp 0x4c0b10
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 0x4c0b08
inc dword [ebp - 0x68]
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x3d
je 0x4bfbd7
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x3e
jne 0x4bfbf9
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 0x4bfe15
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3c
je 0x4bfc10
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x29
jmp 0x4c0b10
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x3c
jne 0x4bfc20
mov edx, 0x3e
jmp 0x4bfc25
mov edx, 0x27
mov dword [ebp - 0xcc], edx
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1ac], eax
jmp 0x4bfc3c
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 0x4bfc39
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 0x4bfcd8
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x4bfc83
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x2a
jmp 0x4c0b10
mov eax, dword [ebx + 0x28]
cmp eax, 0x2710
jl 0x4bfc9b
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x31
jmp 0x4c0b10
mov ecx, dword [ebp - 0x1a4]
add ecx, 3
mov eax, dword [ebx + 0x2c]
cmp ecx, eax
jle 0x4bfdf6
mov edx, dword [ebp - 0x1a4]
add edx, 3
mov dword [ebx + 0x2c], edx
mov ecx, dword [ebp - 0x1a4]
cmp ecx, 0x20
jle 0x4bfdf6
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x30
jmp 0x4c0b10
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x1b0], edx
xor ecx, ecx
mov dword [ebp - 0x198], ecx
jmp 0x4bfd95
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.004bac44
add esp, 0xc
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x1b8]
test eax, eax
jne 0x4bfd50
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1a4]
mov al, byte [edx + ecx + 2]
test al, al
jne 0x4bfd46
test byte [ebp - 0x46], 8
jne 0x4bfd50
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x2b
jmp 0x4c0b10
mov dword [ebp - 0x1b8], 0xffffffff
mov ecx, dword [ebp - 0x1b8]
test ecx, ecx
jge 0x4bfd86
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.004bac2c
add esp, 0xc
jmp 0x4bfda6
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 0x4bfcee
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.004bac24
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 0x4c03c4
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x1ac], ecx
jmp 0x4bfe26
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 0x4bfe23
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 0x4bfeab
mov eax, dword [ebp - 0x1a4]
test eax, eax
jne 0x4bfe66
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3e
jmp 0x4c0b10
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x4bfe85
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x2a
jmp 0x4c0b10
mov eax, dword [ebp - 0x1a4]
cmp eax, 0x20
jle 0x4bfe9e
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x30
jmp 0x4c0b10
xor ecx, ecx
mov dword [ebp - 0xb8], ecx
jmp 0x4bff77
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x1b0], eax
xor edx, edx
mov dword [ebp - 0x198], edx
jmp 0x4bff05
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.004bac3c
add esp, 0xc
test eax, eax
jne 0x4bfef6
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [ebp - 0x1a4]
mov dl, byte [ecx + eax + 2]
test dl, dl
je 0x4bff12
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 0x4bfebe
mov ecx, dword [ebp - 0x198]
mov eax, dword [ebx + 0x28]
cmp ecx, eax
jge 0x4bff41
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 0x4bff77
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.004bb710
mov dword [ebp - 0xb8], eax
test eax, eax
jg 0x4bff77
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0xf
jmp 0x4c0b10
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
jne 0x4c00bf
jmp 0x4c088e
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 0x4bffca
inc dword [ebp - 0x68]
mov eax, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [eax]
test byte [ecx + 0x512ecd], 4
jne 0x4bffed
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x3f
jmp 0x4c0b10
mov edx, dword [ebp - 0xbc]
cmp edx, 0x2d
jne 0x4bffed
mov ecx, dword [ebp - 0x68]
xor eax, eax
mov al, byte [ecx + 1]
test byte [eax + 0x512ecd], 4
je 0x4c020d
inc dword [ebp - 0x68]
xor edx, edx
mov dword [ebp - 0xb8], edx
jmp 0x4c0017
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 + 0x512ecd], 4
jne 0x4bfff7
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov cl, byte [edx]
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
je 0x4c0046
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x1d
jmp 0x4c0b10
mov ecx, dword [ebp - 0xbc]
cmp ecx, 0x2d
jne 0x4c0093
mov eax, dword [ebp - 0xb8]
test eax, eax
jne 0x4c0069
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x3a
jmp 0x4c0b10
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 0x4c00bf
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0xf
jmp 0x4c0b10
mov eax, dword [ebp - 0xbc]
cmp eax, 0x2b
jne 0x4c00bf
mov edx, dword [ebp - 0xb8]
test edx, edx
jne 0x4c00b6
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x3a
jmp 0x4c0b10
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 0x4c01aa
mov byte [esi], 0
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x4c00fa
mov ecx, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x14]
call fcn.004bbaa4
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 0x1bc]
test edx, edx
jne 0x4c0167
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.004bb710
test eax, eax
jge 0x4c0130
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xf
jmp 0x4c0b10
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 0x4c01aa
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 0x4c01aa
mov edx, dword [ebp - 0x80]
push edx
mov ecx, dword [ebp + 0x10]
mov edx, esi
mov eax, dword [ebp - 0x1bc]
call fcn.004bbebc
test eax, eax
je 0x4c01aa
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x28
jmp 0x4c0b10
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 0x4c0b08
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x4c0b08
xor ecx, ecx
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], ecx
mov dword [ebp - 0x1a8], eax
jmp 0x4c02da
mov edx, dword [ebp - 0x68]
inc dword [ebp - 0x68]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x69
jg 0x4c0253
je 0x4c0284
sub eax, 0x2d
je 0x4c0264
sub eax, 0x1d
je 0x4c0272
sub eax, 0xb
je 0x4c02b0
sub eax, 3
je 0x4c02be
jmp 0x4c02c9
sub eax, 0x6d
je 0x4c028f
sub eax, 6
je 0x4c029a
sub eax, 5
je 0x4c02a5
jmp 0x4c02c9
lea edx, [ebp - 0x1a0]
mov dword [ebp - 0x1a8], edx
jmp 0x4c02da
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 0x80000
or dword [ebx + 0x44], 0x10
jmp 0x4c02da
mov eax, dword [ebp - 0x1a8]
or dword [eax], 1
jmp 0x4c02da
mov edx, dword [ebp - 0x1a8]
or dword [edx], 2
jmp 0x4c02da
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 4
jmp 0x4c02da
mov eax, dword [ebp - 0x1a8]
or dword [eax], 8
jmp 0x4c02da
mov edx, dword [ebp - 0x1a8]
or dword [edx], 0x200
jmp 0x4c02da
mov ecx, dword [ebp - 0x1a8]
or dword [ecx], 0x40
jmp 0x4c02da
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xc
dec dword [ebp - 0x68]
jmp 0x4c0b10
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x29
je 0x4c02f2
mov eax, dword [ebp - 0x68]
mov dl, byte [eax]
cmp dl, 0x3a
jne 0x4c022c
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 0x4c03a9
mov edx, dword [ebx + 0x14]
add edx, 3
cmp esi, edx
jne 0x4c0340
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x4c0335
mov eax, dword [ebp + 8]
mov edx, dword [eax]
cmp edx, 6
jne 0x4c0340
mov ecx, dword [ebp - 0xb4]
mov dword [ebx + 0x40], ecx
jmp 0x4c0391
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb4]
and edx, 7
and eax, 7
cmp eax, edx
je 0x4c0363
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 0x4c038c
mov ecx, pe_nt_image_headers32
jmp 0x4c038e
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 0x4c0b08
mov dword [ebp - 0x20], 0x5e
inc dword [ebp - 0x68]
jmp 0x4c03e3
test byte [ebp - 0x47], 0x10
je 0x4c03c4
mov dword [ebp - 0x20], 0x5e
jmp 0x4c03e3
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 0x4c03ef
mov eax, esi
jmp 0x4c03f1
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 0x4c0423
mov edx, dword [ebp - 0x20]
cmp edx, 0x5b
je 0x4c0423
xor ecx, ecx
jmp 0x4c0428
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 0x4c0455
xor eax, eax
jmp 0x4c0458
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.004c0b2c
test eax, eax
je 0x4c0b10
mov edx, dword [ebp - 0x20]
cmp edx, 0x60
jne 0x4c0526
mov ecx, dword [ebp + 8]
test ecx, ecx
jne 0x4c0526
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 0x4c049a
mov dl, byte [esi + 3]
cmp dl, 0x66
jne 0x4c04f5
mov ecx, dword [ebp - 0x1c4]
dec ecx
jle 0x4c04ec
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x36
jmp 0x4c0b10
mov dword [ebp - 0x20], 0x66
jmp 0x4c0526
mov edx, dword [ebp - 0x1c4]
cmp edx, 2
jle 0x4c050e
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], 0x1b
jmp 0x4c0b10
mov eax, dword [ebp - 0x1c4]
dec eax
jne 0x4c0526
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 0x4c053e
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0xe
jmp 0x4c0b10
mov edx, dword [ebp + 8]
test edx, edx
je 0x4c0595
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 0x4c0569
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x14
jmp 0x4c0b10
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 0x4c0b08
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
cmp eax, 0x66
je 0x4c0b08
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 0x4c0632
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x4c05f1
mov eax, dword [ebp - 0xc8]
test eax, eax
jl 0x4c05e1
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x64], 1
jmp 0x4c05e8
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
jmp 0x4c0616
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
jl 0x4c0616
mov eax, dword [ebp - 0xc4]
test eax, eax
jge 0x4c0616
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 0x4c0b08
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x30], edx
jmp 0x4c0b08
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x58
jne 0x4c0b08
mov eax, dword [ebp - 0xc4]
test eax, eax
jl 0x4c0b08
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x30], edx
jmp 0x4c0b08
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.004bad54
mov edi, eax
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax]
test edx, edx
jne 0x4c0b10
test edi, edi
jge 0x4c099c
mov ecx, edi
neg ecx
cmp ecx, 0x1a
jne 0x4c06be
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x5c
jne 0x4c06b2
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 2]
cmp al, 0x45
jne 0x4c06b2
add dword [ebp - 0x68], 2
jmp 0x4c0b08
mov dword [ebp - 0x60], 1
jmp 0x4c0b08
mov edx, edi
neg edx
cmp edx, 0x19
je 0x4c0b08
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x4c06ec
mov eax, edi
neg eax
cmp eax, 5
jle 0x4c06ec
mov edx, edi
neg edx
cmp edx, 0x17
jge 0x4c06ec
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 0x4c0814
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 0x4c071f
mov ecx, 0x3e
jmp 0x4c0724
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 0x4c07da
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x2d
je 0x4c07da
mov dword [ebp - 0x1c8], 1
mov eax, dword [ebp - 0x68]
inc eax
jmp 0x4c078a
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 4
jne 0x4c077c
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 0x4c079e
inc eax
mov cl, byte [eax]
test cl, cl
je 0x4c079e
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebp - 0xcc]
cmp edx, ecx
jne 0x4c0767
movzx eax, byte [eax]
mov edx, dword [ebp - 0xcc]
cmp eax, edx
je 0x4c07b9
mov eax, dword [ebp + 0x1c]
mov dword [eax], 0x39
jmp 0x4c0b08
mov ecx, dword [ebp - 0x1c8]
test ecx, ecx
je 0x4c07cb
inc dword [ebp - 0x68]
jmp 0x4bff97
mov dword [ebp - 0xa4], 1
jmp 0x4bfe15
mov eax, dword [ebp - 0x68]
add eax, 2
jmp 0x4c07e3
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x512ecd], 4
jne 0x4c07e2
xor ecx, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0xcc]
cmp ecx, eax
je 0x4c080c
mov edx, dword [ebp + 0x1c]
mov dword [edx], 0x39
jmp 0x4c0b08
inc dword [ebp - 0x68]
jmp 0x4bff97
mov ecx, edi
neg ecx
cmp ecx, 0x1c
jne 0x4c087a
mov eax, dword [ebp - 0x68]
mov dl, byte [eax + 1]
cmp dl, 0x3c
je 0x4c083d
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx + 1]
cmp al, 0x27
je 0x4c083d
mov edx, dword [ebp - 0x68]
mov cl, byte [edx + 1]
cmp cl, 0x7b
jne 0x4c087a
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 0x4c0859
mov eax, 0x3e
jmp 0x4c086f
mov edx, dword [ebp - 0x68]
mov cl, byte [edx]
cmp cl, 0x27
jne 0x4c086a
mov eax, 0x27
jmp 0x4c086f
mov eax, 0x7d
mov dword [ebp - 0xcc], eax
jmp 0x4bfe15
mov edx, edi
neg edx
cmp edx, 0x1d
jl 0x4c08ff
neg edi
add edi, 0xffffffe3
mov dword [ebp - 0xb8], edi
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x4c089d
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 0x4c08d8
mov ecx, dword [ebp - 0xb8]
mov eax, 1
shl eax, cl
jmp 0x4c08dd
mov eax, 1
or dword [ebx + 0x3c], eax
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x38]
cmp edx, ecx
jle 0x4c0b08
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x38], eax
jmp 0x4c0b08
mov edx, edi
neg edx
cmp edx, 0xf
je 0x4c0911
mov ecx, edi
neg ecx
cmp ecx, 0x10
jne 0x4c0975
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x68]
lea edx, [ebp - 0x1cc]
call fcn.004bb130
mov dword [ebp - 0x1d4], eax
mov edx, dword [ebp - 0x1d4]
test edx, edx
jl 0x4c0b10
neg edi
cmp edi, 0x10
mov dword [ebp - 0x70], esi
sete cl
and ecx, 1
mov eax, dword [ebp - 0x1cc]
cmp ecx, eax
je 0x4c0959
mov dl, 0x10
jmp 0x4c095b
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 0x4c0b08
mov eax, edi
neg eax
cmp eax, 5
jle 0x4c098b
mov edx, edi
neg edx
cmp edx, 0x17
jge 0x4c098b
mov ecx, esi
jmp 0x4c098d
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov eax, edi
neg al
mov byte [esi], al
inc esi
jmp 0x4c0b08
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4c09bd
cmp edi, 0x7f
jle 0x4c09bd
lea edx, [ebp - 0xd8]
mov eax, edi
call fcn.004cb290
mov dword [ebp - 0xd0], eax
jmp 0x4c0a23
mov ecx, edi
mov byte [ebp - 0xd8], cl
mov dword [ebp - 0xd0], 1
jmp 0x4c0a23
mov dword [ebp - 0xd0], 1
mov eax, edi
mov byte [ebp - 0xd8], al
mov edx, dword [ebp - 0x80]
test edx, edx
je 0x4c0a23
cmp edi, 0xc0
jl 0x4c0a23
jmp 0x4c0a0f
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 0x4c09f4
mov dword [ebp - 0x70], esi
test byte [ebp - 0x48], 1
je 0x4c0a30
mov dl, 0x1d
jmp 0x4c0a32
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 0x4c0a69
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 0x4c0a4d
mov cl, byte [ebp - 0xd8]
cmp cl, 0xd
je 0x4c0a7e
mov al, byte [ebp - 0xd8]
cmp al, 0xa
jne 0x4c0a82
or dword [ebx + 0x44], 0x20
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
jne 0x4c0ada
mov dword [ebp - 0x38], 0xffffffff
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0xd0]
dec eax
je 0x4c0aa7
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x4c0acf
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 0x4c0b08
xor ecx, ecx
mov cl, byte [esi - 1]
mov eax, dword [ebx + 0x48]
or ecx, eax
mov dword [ebp - 0x30], ecx
jmp 0x4c0b08
or edx, 0xffffffff
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], edx
jmp 0x4c0b08
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 0x4c0af6
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x4c0b08
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 0x4bcca3
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