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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe48
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x24]
xor eax, eax
mov dword [ebp - 0xc], eax
xor edx, edx
mov dword [ebp - 0x10], edx
xor ecx, ecx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov dword [ebp - 0x3c], edx
xor ecx, ecx
mov dword [ebp - 0x40], ecx
xor eax, eax
mov dword [ebp - 0x44], eax
mov edx, dword [ebp + 0xc]
mov edi, dword [edx]
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
xor eax, eax
mov dword [ebp - 0x54], eax
xor edx, edx
mov dword [ebp - 0x58], edx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
mov dword [ebp - 0x5c], eax
xor edx, edx
mov dword [ebp - 0x64], edx
xor ecx, ecx
mov dword [ebp - 0x68], ecx
xor eax, eax
mov dword [ebp - 0x6c], eax
xor edx, edx
mov dword [ebp - 0x70], edx
xor ecx, ecx
mov dword [ebp - 0x74], ecx
test byte [ebp - 0x3b], 2
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
xor edx, 1
mov dword [ebp - 0x1c], edx
mov ecx, 0xfffffffe
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
test byte [ebp - 0x3c], 1
je 0x4cc906
mov eax, 0x100
jmp 0x4cc908
xor eax, eax
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x5c]
movzx esi, byte [edx]
cmp dword [ebp + 0x28], 0
je 0x4cc9a2
mov eax, dword [ebx + 0x10]
add eax, 0x1000
cmp edi, eax
jbe 0x4cc935
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x4cf88e
cmp edi, dword [ebp - 0x48]
jae 0x4cc93d
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp + 0x28]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov ecx, edi
sub ecx, dword [ebp - 0x48]
cmp edx, ecx
jge 0x4cc95e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4cf88e
mov edx, edi
sub edx, dword [ebp - 0x48]
mov ecx, dword [ebp + 0x28]
add dword [ecx], edx
cmp dword [ebp - 0x64], 0
je 0x4cc99a
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x4c]
jbe 0x4cc99d
mov edx, edi
sub edx, dword [ebp - 0x64]
push edx
push dword [ebp - 0x64]
push dword [ebp - 0x4c]
call fcn.004d916c
add esp, 0xc
mov ecx, dword [ebp - 0x64]
sub ecx, dword [ebp - 0x4c]
sub edi, ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x64], eax
jmp 0x4cc99d
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], edi
jmp 0x4cc9bd
mov eax, dword [ebx + 0x10]
add eax, 0x1000
cmp eax, dword [ebx + 0x24]
jae 0x4cc9bd
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x34
jmp 0x4cf88e
cmp dword [ebp - 0x54], 0
je 0x4cca23
test esi, esi
je 0x4cca23
cmp esi, 0x5c
jne 0x4cc9e2
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x45
jne 0x4cc9e2
xor eax, eax
mov dword [ebp - 0x54], eax
inc dword [ebp - 0x5c]
jmp 0x4cf886
cmp dword [ebp - 0x68], 0
je 0x4cca02
cmp dword [ebp + 0x28], 0
jne 0x4cc9fd
push ebx
push dword [ebp - 0x5c]
push dword [ebp - 0x68]
call fcn.004cc0ac
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x68], edx
test byte [ebp - 0x3b], 0x40
je 0x4cf7b5
mov dword [ebp - 0x68], edi
push ebx
push dword [ebp - 0x5c]
push edi
call fcn.004cc076
add esp, 0xc
mov edi, eax
jmp 0x4cf7b5
cmp esi, 0x2a
je 0x4cca4a
cmp esi, 0x2b
je 0x4cca4a
cmp esi, 0x3f
je 0x4cca4a
cmp esi, 0x7b
jne 0x4cca46
mov ecx, dword [ebp - 0x5c]
inc ecx
push ecx
call fcn.004cb373
pop ecx
test eax, eax
jne 0x4cca4a
xor eax, eax
jmp 0x4cca4f
mov eax, 1
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jne 0x4cca89
cmp dword [ebp - 0x68], 0
je 0x4cca89
mov edx, dword [ebp - 0x40]
add dword [ebp - 0x40], 0xffffffff
test edx, edx
jg 0x4cca89
cmp dword [ebp + 0x28], 0
jne 0x4cca84
push ebx
push dword [ebp - 0x5c]
push dword [ebp - 0x68]
call fcn.004cc0ac
add esp, 0xc
xor ecx, ecx
mov dword [ebp - 0x68], ecx
test byte [ebp - 0x3c], 8
je 0x4ccb35
mov eax, dword [ebx + 0xc]
test byte [eax + esi], 1
jne 0x4cf886
cmp esi, 0x23
jne 0x4ccb35
jmp 0x4ccb1c
cmp dword [ebx + 0x58], 0
je 0x4ccae0
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebx + 0x1c]
jae 0x4ccad5
push dword [ebp - 0x70]
lea ecx, [ebx + 0x5c]
push ecx
push dword [ebx + 0x1c]
push dword [ebx + 0x58]
push dword [ebp - 0x5c]
call fcn.004d4f94
add esp, 0x14
test eax, eax
jne 0x4ccad9
xor eax, eax
jmp 0x4ccb0f
mov eax, 1
jmp 0x4ccb0f
mov edx, dword [ebx + 0x1c]
sub edx, dword [ebx + 0x5c]
cmp edx, dword [ebp - 0x5c]
jb 0x4ccb06
mov ecx, dword [ebp - 0x5c]
mov al, byte [ecx]
cmp al, byte [ebx + 0x60]
jne 0x4ccb06
cmp dword [ebx + 0x5c], 1
je 0x4ccb0a
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx + 1]
cmp cl, byte [ebx + 0x61]
je 0x4ccb0a
xor eax, eax
jmp 0x4ccb0f
mov eax, 1
test eax, eax
je 0x4ccb1c
mov edx, dword [ebx + 0x5c]
dec edx
add dword [ebp - 0x5c], edx
jmp 0x4ccb27
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0
jne 0x4ccaab
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0
jne 0x4cf886
xor esi, esi
test byte [ebp - 0x3b], 0x40
je 0x4ccb56
cmp dword [ebp - 0x84], 0
jne 0x4ccb56
mov dword [ebp - 0x68], edi
push ebx
push dword [ebp - 0x5c]
push edi
call fcn.004cc076
add esp, 0xc
mov edi, eax
mov eax, esi
cmp eax, 0x3f
jg 0x4ccba4
je 0x4cd66a
cmp eax, 0x29
jg 0x4ccb86
je 0x4ccbdc
sub eax, 1
jb 0x4ccbdc
sub eax, 0x23
je 0x4ccc53
sub eax, 4
je 0x4ce1b7
jmp 0x4cf7b5
sub eax, 0x2a
je 0x4cd64c
dec eax
je 0x4cd65a
sub eax, 3
je 0x4ccc61
jmp 0x4cf7b5
cmp eax, 0x5e
jg 0x4ccbcb
je 0x4ccc32
sub eax, 0x5b
je 0x4ccca9
dec eax
je 0x4cf4d0
dec eax
je 0x4ccc91
jmp 0x4cf7b5
sub eax, 0x7b
je 0x4cd616
dec eax
je 0x4ccbdc
jmp 0x4cf7b5
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x20]
mov dword [edx], ecx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x24]
mov dword [eax], edx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], edi
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
cmp dword [ebp + 0x28], 0
je 0x4ccc28
mov ecx, dword [ebp + 0x28]
mov eax, 0x7fffffeb
sub eax, dword [ecx]
mov edx, edi
sub edx, dword [ebp - 0x48]
cmp eax, edx
jge 0x4ccc20
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x14
jmp 0x4cf88e
sub edi, dword [ebp - 0x48]
mov eax, dword [ebp + 0x28]
add dword [eax], edi
mov eax, 1
jmp 0x4cf898
test byte [ebp - 0x3c], 2
je 0x4ccc45
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4ccc45
mov dword [ebp - 0x20], 0xffffffff
xor edx, edx
mov dword [ebp - 0x64], edx
mov byte [edi], 0x1a
inc edi
jmp 0x4cf886
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov byte [edi], 0x1b
inc edi
jmp 0x4cf886
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4ccc6e
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x64], edi
test byte [ebp - 0x3c], 4
je 0x4ccc87
mov cl, 0xd
jmp 0x4ccc89
mov cl, 0xc
mov byte [edi], cl
inc edi
jmp 0x4cf886
test byte [ebx + 0x47], 2
je 0x4cf7b5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x40
jmp 0x4cf88e
mov dword [ebp - 0x64], edi
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3a
je 0x4cccc7
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x2e
je 0x4cccc7
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3d
jne 0x4cccf9
lea ecx, [ebp - 0x60]
push ecx
push dword [ebp - 0x5c]
call fcn.004cbf3f
add esp, 8
test eax, eax
je 0x4cccf9
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x3a
jne 0x4cccea
mov edx, 0xd
jmp 0x4cccef
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x4cf88e
xor ecx, ecx
mov dword [ebp - 0x78], ecx
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
movzx esi, byte [eax]
cmp esi, 0x5c
jne 0x4ccd38
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x45
jne 0x4ccd1a
inc dword [ebp - 0x5c]
jmp 0x4cccfe
push 3
push 0x716208
mov edx, dword [ebp - 0x5c]
inc edx
push edx
call fcn.004d9434
add esp, 0xc
test eax, eax
jne 0x4ccd4c
add dword [ebp - 0x5c], 3
jmp 0x4cccfe
cmp dword [ebp - 0x78], 0
jne 0x4ccd4c
cmp esi, 0x5e
jne 0x4ccd4c
mov dword [ebp - 0x78], 1
jmp 0x4cccfe
cmp esi, 0x5d
jne 0x4ccd7e
test byte [ebx + 0x47], 2
je 0x4ccd7e
cmp dword [ebp - 0x78], 0
je 0x4ccd61
mov cl, 0xd
jmp 0x4ccd63
mov cl, 0x6f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4ccd73
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
jmp 0x4cf886
xor edx, edx
mov dword [ebp - 0x7c], edx
xor eax, eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], 0xffffffff
push 0x20
push 0
lea edx, [ebp - 0x194]
push edx
call fcn.004d91b8
add esp, 0xc
test esi, esi
je 0x4cd549
cmp dword [ebp - 0x54], 0
je 0x4ccdd9
cmp esi, 0x5c
jne 0x4cd30e
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x45
jne 0x4cd30e
xor eax, eax
mov dword [ebp - 0x54], eax
inc dword [ebp - 0x5c]
jmp 0x4cd529
cmp esi, 0x5b
jne 0x4ccfd8
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3a
je 0x4cce01
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x2e
je 0x4cce01
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x3d
jne 0x4ccfd8
lea edx, [ebp - 0x60]
push edx
push dword [ebp - 0x5c]
call fcn.004cbf3f
add esp, 8
test eax, eax
je 0x4ccfd8
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3a
je 0x4cce40
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1f
jmp 0x4cf88e
add dword [ebp - 0x5c], 2
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x5e
jne 0x4cce60
mov dword [ebp - 0xc4], 1
mov dword [ebp - 0x7c], 1
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x5c]
push edx
push dword [ebp - 0x5c]
call fcn.004cbf8c
add esp, 8
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
jge 0x4cce8f
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1e
jmp 0x4cf88e
test byte [ebp - 0x3c], 1
je 0x4ccea6
cmp dword [ebp - 0xc8], 2
jg 0x4ccea6
xor eax, eax
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc8]
lea edx, [edx + edx*2]
mov dword [ebp - 0xc8], edx
push 0x20
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx*4 + 0x71566c]
add eax, dword [ebp - 0xd4]
push eax
lea edx, [ebp - 0x1b4]
push edx
call fcn.004d9148
add esp, 0xc
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx*4 + 0x715670]
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0xc8]
mov ecx, dword [edx*4 + 0x715674]
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xcc], 0
jl 0x4ccf58
cmp dword [ebp - 0xd0], 0
jl 0x4ccf35
xor esi, esi
mov eax, dword [ebp - 0xd4]
lea edx, [eax + esi]
mov ecx, dword [ebp - 0xcc]
mov al, byte [edx + ecx]
or byte [ebp + esi - 0x1b4], al
inc esi
cmp esi, 0x20
jl 0x4ccf14
jmp 0x4ccf58
xor esi, esi
mov eax, dword [ebp - 0xd4]
lea edx, [eax + esi]
mov ecx, dword [ebp - 0xcc]
mov al, byte [edx + ecx]
not al
and byte [ebp + esi - 0x1b4], al
inc esi
cmp esi, 0x20
jl 0x4ccf37
cmp dword [ebp - 0xd0], 0
jge 0x4ccf67
neg dword [ebp - 0xd0]
cmp dword [ebp - 0xd0], 1
jne 0x4ccf79
and byte [ebp - 0x1b3], 0xc3
jmp 0x4ccf89
cmp dword [ebp - 0xd0], 2
jne 0x4ccf89
and byte [ebp - 0x1a9], 0x7f
cmp dword [ebp - 0xc4], 0
je 0x4ccfac
xor esi, esi
mov al, byte [ebp + esi - 0x1b4]
not al
or byte [ebp + esi - 0x194], al
inc esi
cmp esi, 0x20
jl 0x4ccf94
jmp 0x4ccfc2
xor esi, esi
mov al, byte [ebp + esi - 0x1b4]
or byte [ebp + esi - 0x194], al
inc esi
cmp esi, 0x20
jl 0x4ccfae
mov edx, dword [ebp - 0x60]
inc edx
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x90], 0xa
jmp 0x4cd529
cmp esi, 0x5c
jne 0x4cd30e
push 1
push dword [ebp - 0x3c]
push dword [ebx + 0x34]
push dword [ebp + 0x14]
lea ecx, [ebp - 0x5c]
push ecx
call fcn.004cb005
add esp, 0x14
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4cf88e
mov edx, esi
neg edx
cmp edx, 5
jne 0x4cd016
mov esi, 8
jmp 0x4cd073
mov eax, esi
neg eax
cmp eax, 0x16
jne 0x4cd026
mov esi, 0x58
jmp 0x4cd073
mov eax, esi
neg eax
cmp eax, 0x11
jne 0x4cd036
mov esi, 0x52
jmp 0x4cd073
mov eax, esi
neg eax
cmp eax, 0x1a
jne 0x4cd066
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x5c
jne 0x4cd05a
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 2], 0x45
jne 0x4cd05a
add dword [ebp - 0x5c], 2
jmp 0x4cd529
mov dword [ebp - 0x54], 1
jmp 0x4cd529
mov eax, esi
neg eax
cmp eax, 0x19
je 0x4cd529
test esi, esi
jge 0x4cd30e
mov edx, dword [ebx + 8]
mov dword [ebp - 0xd8], edx
add dword [ebp - 0x90], 2
cmp dword [ebp + 0x28], 0
jne 0x4cd1a5
mov ecx, esi
neg ecx
add ecx, 0xfffffffa
cmp ecx, 5
ja case.default.0x4cd0a5
jmp dword [ecx*4 + 0x4cd0ac]
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd0c6
jmp 0x4cd529
mov dword [ebp - 0x7c], 1
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi + 0x40]
not dl
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd0eb
jmp 0x4cd529
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd10b
jmp 0x4cd529
mov dword [ebp - 0x7c], 1
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi + 0xa0]
not dl
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd133
jmp 0x4cd529
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi]
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd156
and byte [ebp - 0x193], 0xf7
jmp 0x4cd529
mov dword [ebp - 0x7c], 1
xor esi, esi
mov eax, dword [ebp - 0xd8]
mov dl, byte [eax + esi]
not dl
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd181
or byte [ebp - 0x193], 8
jmp 0x4cd529
cmp esi, 0xfffffff9
je 0x4cd529
cmp esi, 0xfffffffa
je 0x4cd529
cmp esi, 0xfffffff5
je 0x4cd529
cmp esi, 0xfffffff6
je 0x4cd529
cmp esi, 0xfffffff7
je 0x4cd529
cmp esi, 0xfffffff8
je 0x4cd529
mov ecx, esi
neg ecx
cmp ecx, 0x13
jne 0x4cd1fe
or byte [ebp - 0x193], 2
or byte [ebp - 0x190], 1
or byte [ebp - 0x180], 1
jmp 0x4cd529
mov eax, esi
neg eax
cmp eax, 0x12
jne 0x4cd255
xor esi, esi
mov dword [ebp - 0xdc], 0xff
mov eax, esi
dec eax
je 0x4cd224
sub eax, 3
je 0x4cd22d
sub eax, 0x10
je 0x4cd236
jmp 0x4cd23d
xor dword [ebp - 0xdc], 2
jmp 0x4cd23d
xor dword [ebp - 0xdc], 1
jmp 0x4cd23d
xor dword [ebp - 0xdc], 1
mov dl, byte [ebp - 0xdc]
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd209
jmp 0x4cd529
mov ecx, esi
neg ecx
cmp ecx, 0x15
jne 0x4cd286
or byte [ebp - 0x193], 4
or byte [ebp - 0x193], 8
or byte [ebp - 0x193], 0x10
or byte [ebp - 0x193], 0x20
or byte [ebp - 0x184], 0x20
jmp 0x4cd529
neg esi
cmp esi, 0x14
jne 0x4cd2e2
xor esi, esi
mov dword [ebp - 0xe0], 0xff
mov eax, esi
dec eax
je 0x4cd2a5
sub eax, 0xf
je 0x4cd2c3
jmp 0x4cd2ca
xor dword [ebp - 0xe0], 4
xor dword [ebp - 0xe0], 8
xor dword [ebp - 0xe0], 0x10
xor dword [ebp - 0xe0], 0x20
jmp 0x4cd2ca
xor dword [ebp - 0xe0], 0x20
mov dl, byte [ebp - 0xe0]
or byte [ebp + esi - 0x194], dl
inc esi
cmp esi, 0x20
jl 0x4cd28f
jmp 0x4cd529
test byte [ebp - 0x3c], 0x40
je 0x4cd2f6
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 7
jmp 0x4cf88e
sub dword [ebp - 0x90], 2
mov eax, dword [ebp - 0x5c]
movzx esi, byte [eax]
jmp 0x4cd30e
xor eax, eax
mov dword [ebp - 0x54], eax
add dword [ebp - 0x5c], 2
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x5c
jne 0x4cd320
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 2], 0x45
je 0x4cd305
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xc0], eax
cmp esi, 0xd
je 0x4cd333
cmp esi, 0xa
jne 0x4cd337
or dword [ebx + 0x48], 0x20
cmp dword [ebp - 0x54], 0
jne 0x4cd4d5
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x2d
jne 0x4cd4d5
add dword [ebp - 0x5c], 2
jmp 0x4cd358
add dword [ebp - 0x5c], 2
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x5c
jne 0x4cd38f
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x45
je 0x4cd354
jmp 0x4cd38f
add dword [ebp - 0x5c], 2
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x5c
jne 0x4cd386
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x45
jne 0x4cd386
add dword [ebp - 0x5c], 2
jmp 0x4cd38f
mov dword [ebp - 0x54], 1
jmp 0x4cd3a0
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x5c
jne 0x4cd3a0
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x51
je 0x4cd36b
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0
je 0x4cd3b6
cmp dword [ebp - 0x54], 0
jne 0x4cd3c4
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x5d
jne 0x4cd3c4
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x5c], edx
jmp 0x4cd4d5
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
cmp dword [ebp - 0x54], 0
jne 0x4cd42f
cmp eax, 0x5c
jne 0x4cd42f
push 1
push dword [ebp - 0x3c]
push dword [ebx + 0x34]
push dword [ebp + 0x14]
lea edx, [ebp - 0x5c]
push edx
call fcn.004cb005
add esp, 0x14
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x4cf88e
test eax, eax
jge 0x4cd42f
cmp eax, 0xfffffffb
jne 0x4cd409
mov eax, 8
jmp 0x4cd42f
cmp eax, 0xffffffea
jne 0x4cd415
mov eax, 0x58
jmp 0x4cd42f
cmp eax, 0xffffffef
jne 0x4cd421
mov eax, 0x52
jmp 0x4cd42f
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x5c], edx
jmp 0x4cd4d5
cmp esi, eax
jle 0x4cd441
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 8
jmp 0x4cf88e
cmp esi, eax
je 0x4cd4d5
cmp eax, 0xd
je 0x4cd453
cmp eax, 0xa
jne 0x4cd457
or dword [ebx + 0x48], 0x20
mov edx, eax
sub edx, esi
inc edx
add dword [ebp - 0x90], edx
mov dword [ebp - 0x94], eax
cmp dword [ebp + 0x28], 0
jne 0x4cd529
cmp eax, esi
jl 0x4cd529
mov ecx, esi
and ecx, 7
mov dl, 1
shl dl, cl
mov ecx, esi
test ecx, ecx
jns 0x4cd48c
add ecx, 7
sar ecx, 3
or byte [ebp + ecx - 0x194], dl
test byte [ebp - 0x3c], 1
je 0x4cd4ce
mov edx, dword [ebx + 4]
xor ecx, ecx
mov cl, byte [edx + esi]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0xe4]
and ecx, 7
mov dl, 1
shl dl, cl
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
jns 0x4cd4c4
add ecx, 7
sar ecx, 3
or byte [ebp + ecx - 0x194], dl
inc esi
cmp eax, esi
jge 0x4cd47a
jmp 0x4cd529
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
mov edx, esi
test edx, edx
jns 0x4cd4e7
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x194], al
test byte [ebp - 0x3c], 1
je 0x4cd51d
mov eax, dword [ebx + 4]
xor edx, edx
mov dl, byte [eax + esi]
mov esi, edx
mov ecx, esi
and ecx, 7
mov al, 1
shl al, cl
mov edx, esi
test edx, edx
jns 0x4cd513
add edx, 7
sar edx, 3
or byte [ebp + edx - 0x194], al
inc dword [ebp - 0x90]
mov dword [ebp - 0x94], esi
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
movzx esi, byte [ecx]
test esi, esi
je 0x4cd549
cmp esi, 0x5d
jne 0x4ccdb0
cmp dword [ebp - 0x54], 0
jne 0x4ccdb0
test esi, esi
jne 0x4cd55b
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x4cf88e
cmp dword [ebp - 0x90], 1
jne 0x4cd5b0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x78], 0
je 0x4cd595
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cd57d
mov dword [ebp - 0x20], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov byte [edi], 0x1e
inc edi
mov al, byte [ebp - 0x94]
mov byte [edi], al
inc edi
jmp 0x4cf886
mov dl, byte [ebp - 0x94]
mov byte [ebp - 0xbc], dl
mov dword [ebp - 0xb4], 1
jmp 0x4cf7c7
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cd5bd
mov dword [ebp - 0x20], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x7c]
jne 0x4cd5d5
mov cl, 0x4e
jmp 0x4cd5d7
mov cl, 0x4f
mov byte [edi], cl
inc edi
cmp dword [ebp - 0x78], 0
je 0x4cd5fc
cmp dword [ebp + 0x28], 0
jne 0x4cd60e
xor esi, esi
mov al, byte [ebp + esi - 0x194]
not al
mov byte [edi + esi], al
inc esi
cmp esi, 0x20
jl 0x4cd5e8
jmp 0x4cd60e
push 0x20
lea edx, [ebp - 0x194]
push edx
push edi
call fcn.004d9148
add esp, 0xc
add edi, 0x20
jmp 0x4cf886
cmp dword [ebp - 0x84], 0
je 0x4cf7b5
push dword [ebp + 0x14]
lea ecx, [ebp - 0x10]
push ecx
lea eax, [ebp - 0xc]
push eax
mov edx, dword [ebp - 0x5c]
inc edx
push edx
call fcn.004cb3e9
add esp, 0x10
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp + 0x14]
cmp dword [ecx], 0
jne 0x4cf88e
jmp 0x4cd676
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4cd676
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x10], 0xffffffff
jmp 0x4cd676
xor edx, edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], 1
cmp dword [ebp - 0x64], 0
jne 0x4cd68a
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 9
jmp 0x4cf88e
cmp dword [ebp - 0xc], 0
jne 0x4cd69c
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [ebp - 0x10]
jne 0x4cd6a8
xor eax, eax
jmp 0x4cd6ad
mov eax, pe_nt_image_headers32
mov dword [ebp - 0x34], eax
xor edx, edx
mov dword [ebp - 8], edx
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x2b
jne 0x4cd6da
xor ecx, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x80], 1
inc dword [ebp - 0x5c]
jmp 0x4cd6f4
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x3f
jne 0x4cd6ee
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], edx
inc dword [ebp - 0x5c]
jmp 0x4cd6f4
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x64]
cmp byte [eax], 0x1c
je 0x4cd704
mov edx, dword [ebp - 0x64]
cmp byte [edx], 0x1d
jne 0x4cd766
movzx esi, byte [edi - 1]
cmp dword [ebp - 0xc], 1
jle 0x4cd719
mov eax, dword [ebp - 0x30]
or eax, esi
or eax, dword [ebx + 0x4c]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x80], 0
jne 0x4cd801
cmp dword [ebp - 0x10], 0
jge 0x4cd801
push ebx
push dword [ebp - 0x3c]
mov edx, dword [ebp - 0x5c]
inc edx
push edx
push dword [ebp - 0x74]
push dword [ebp - 0x70]
push esi
mov ecx, dword [ebp - 0x64]
xor eax, eax
mov al, byte [ecx]
push eax
call fcn.004cc0e1
add esp, 0x1c
test eax, eax
je 0x4cd801
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x80], 1
jmp 0x4cd801
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x1e
jne 0x4cd7b3
mov dword [ebp - 8], 0xd
mov eax, dword [ebp - 0x64]
movzx esi, byte [eax + 1]
cmp dword [ebp - 0x80], 0
jne 0x4cd801
cmp dword [ebp - 0x10], 0
jge 0x4cd801
push ebx
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5c]
inc eax
push eax
push 0
push dword [ebp - 0x70]
push esi
push 0x1e
call fcn.004cc0e1
add esp, 0x1c
test eax, eax
je 0x4cd801
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x80], 1
jmp 0x4cd801
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x17
jae 0x4cd9a4
mov dword [ebp - 8], 0x1a
mov eax, dword [ebp - 0x64]
movzx esi, byte [eax]
cmp dword [ebp - 0x80], 0
jne 0x4cd801
cmp dword [ebp - 0x10], 0
jge 0x4cd801
push ebx
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x5c]
inc eax
push eax
push 0
push dword [ebp - 0x70]
push 0
push esi
call fcn.004cc0e1
add esp, 0x1c
test eax, eax
je 0x4cd801
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x80], 1
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x10
je 0x4cd811
mov eax, dword [ebp - 0x64]
cmp byte [eax], 0xf
jne 0x4cd82f
mov edx, dword [ebp - 0x64]
xor ecx, ecx
mov cl, byte [edx + 1]
mov dword [ebp - 0xec], ecx
mov eax, dword [ebp - 0x64]
xor edx, edx
mov dl, byte [eax + 2]
mov dword [ebp - 0xf0], edx
jmp 0x4cd83e
or ecx, 0xffffffff
mov dword [ebp - 0xf0], ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], edi
mov edi, dword [ebp - 0x64]
cmp dword [ebp - 0x10], 0
je 0x4ce1a7
mov eax, dword [ebp - 8]
add dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
jne 0x4cd8a6
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cd871
mov dl, byte [ebp - 4]
add dl, 0x1f
mov byte [edi], dl
inc edi
jmp 0x4cd99a
cmp dword [ebp - 0x10], 1
jne 0x4cd885
mov cl, byte [ebp - 4]
add cl, 0x23
mov byte [edi], cl
inc edi
jmp 0x4cd99a
mov al, byte [ebp - 4]
add al, 0x25
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x4cd99a
cmp dword [ebp - 0xc], 1
jne 0x4cd8f4
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cd8bf
mov al, byte [ebp - 4]
add al, 0x21
mov byte [edi], al
inc edi
jmp 0x4cd99a
mov edi, dword [ebp - 0xe8]
cmp dword [ebp - 0x10], 1
je 0x4ce1a7
mov al, byte [ebp - 4]
add al, 0x25
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0x10]
dec edx
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
add cl, 0xff
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x4cd99a
mov al, byte [ebp - 8]
add al, 0x27
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x10], 0
jge 0x4cd940
mov eax, esi
mov byte [edi], al
inc edi
cmp dword [ebp - 0xec], 0
jl 0x4cd936
mov dl, byte [ebp - 0xec]
mov byte [edi], dl
inc edi
mov cl, byte [ebp - 0xf0]
mov byte [edi], cl
inc edi
mov al, byte [ebp - 4]
add al, 0x1f
mov byte [edi], al
inc edi
jmp 0x4cd99a
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
je 0x4cd99a
mov ecx, esi
mov byte [edi], cl
inc edi
cmp dword [ebp - 0xec], 0
jl 0x4cd968
mov al, byte [ebp - 0xec]
mov byte [edi], al
inc edi
mov dl, byte [ebp - 0xf0]
mov byte [edi], dl
inc edi
mov ecx, dword [ebp - 0xc]
sub dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 1
jne 0x4cd97e
mov al, byte [ebp - 4]
add al, 0x23
mov byte [edi], al
inc edi
jmp 0x4cd99a
mov dl, byte [ebp - 4]
add dl, 0x25
mov byte [edi], dl
inc edi
mov ecx, dword [ebp - 0x10]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x10]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, esi
mov byte [edi], dl
inc edi
jmp 0x4cdfdb
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x4e
je 0x4cd9c0
mov eax, dword [ebp - 0x64]
cmp byte [eax], 0x4f
je 0x4cd9c0
mov edx, dword [ebp - 0x64]
cmp byte [edx], 0x51
jne 0x4cda5b
cmp dword [ebp - 0x10], 0
jne 0x4cd9ce
mov edi, dword [ebp - 0x64]
jmp 0x4ce1a7
cmp dword [ebp - 0xc], 0
jne 0x4cd9e7
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cd9e7
mov al, byte [ebp - 4]
add al, 0x46
mov byte [edi], al
inc edi
jmp 0x4cdfdb
cmp dword [ebp - 0xc], 1
jne 0x4cda01
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cda01
mov dl, byte [ebp - 4]
add dl, 0x48
mov byte [edi], dl
inc edi
jmp 0x4cdfdb
cmp dword [ebp - 0xc], 0
jne 0x4cda1b
cmp dword [ebp - 0x10], 1
jne 0x4cda1b
mov cl, byte [ebp - 4]
add cl, 0x4a
mov byte [edi], cl
inc edi
jmp 0x4cdfdb
mov al, byte [ebp - 4]
add al, 0x4c
mov byte [edi], al
inc edi
mov edx, dword [ebp - 0xc]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0xc]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cda42
xor eax, eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x10]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
jmp 0x4cdfdb
mov eax, dword [ebp - 0x64]
cmp byte [eax], 0x5e
je 0x4cda7f
mov edx, dword [ebp - 0x64]
cmp byte [edx], 0x5f
je 0x4cda7f
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x5d
je 0x4cda7f
mov eax, dword [ebp - 0x64]
cmp byte [eax], 0x60
jne 0x4cdfc1
xor edx, edx
mov dword [ebp - 0xf8], edx
mov esi, edi
sub esi, dword [ebp - 0x64]
xor eax, eax
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0x64]
cmp byte [edx], 0x60
jne 0x4cdab3
mov ecx, dword [ebp - 0x64]
cmp byte [ecx + 3], 0x68
jne 0x4cdab3
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x37
jmp 0x4cf88e
cmp dword [ebp - 0x10], 0xffffffff
jne 0x4cdafc
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x100], edx
mov ecx, dword [ebp - 0x100]
xor eax, eax
mov al, byte [ecx + 1]
shl eax, 8
mov edx, dword [ebp - 0x100]
xor ecx, ecx
mov cl, byte [edx + 2]
or eax, ecx
add dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
cmp byte [eax], 0x55
jne 0x4cdac2
mov edx, edi
sub edx, dword [ebp - 0x100]
mov dword [ebp - 0xf8], edx
cmp dword [ebp - 0xc], 0
jne 0x4cdbeb
cmp dword [ebp - 0x10], 1
jg 0x4cdb59
mov byte [edi], 0
push dword [ebp - 0x6c]
push ebx
push dword [ebp - 0x70]
push 1
push dword [ebp - 0x64]
call fcn.004cbfdc
add esp, 0x14
push esi
push dword [ebp - 0x64]
mov ecx, dword [ebp - 0x64]
inc ecx
push ecx
call fcn.004d916c
add esp, 0xc
inc edi
cmp dword [ebp - 0x10], 0
jne 0x4cdb46
mov eax, dword [ebp - 0x64]
mov byte [eax], 0x72
jmp 0x4ce1a7
mov dl, byte [ebp - 4]
add dl, 0x69
mov ecx, dword [ebp - 0x64]
mov byte [ecx], dl
inc dword [ebp - 0x64]
jmp 0x4cdbe3
mov byte [edi], 0
push dword [ebp - 0x6c]
push ebx
push dword [ebp - 0x70]
push 4
push dword [ebp - 0x64]
call fcn.004cbfdc
add esp, 0x14
push esi
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
add eax, 4
push eax
call fcn.004d916c
add esp, 0xc
add edi, 4
mov dl, byte [ebp - 4]
add dl, 0x69
mov ecx, dword [ebp - 0x64]
mov byte [ecx], dl
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x64]
mov byte [eax], 0x5e
inc dword [ebp - 0x64]
cmp dword [ebp - 0xfc], 0
jne 0x4cdbaa
xor edx, edx
jmp 0x4cdbb3
mov edx, dword [ebp - 0x64]
sub edx, dword [ebp - 0xfc]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0x104]
sar ecx, 8
mov eax, dword [ebp - 0x64]
mov byte [eax], cl
mov dl, byte [ebp - 0x104]
and dl, 0xff
mov ecx, dword [ebp - 0x64]
mov byte [ecx + 1], dl
add dword [ebp - 0x64], 2
dec dword [ebp - 0x10]
jmp 0x4cdd04
cmp dword [ebp - 0xc], 1
jle 0x4cdcf8
cmp dword [ebp + 0x28], 0
je 0x4cdc58
mov eax, dword [ebp - 0xc]
dec eax
imul dword [ebp - 0x44]
mov dword [ebp - 0x108], eax
mov edx, dword [ebp - 0xc]
dec edx
mov dword [ebp - 0x1b8], edx
fild dword [ebp - 0x1b8]
fild dword [ebp - 0x44]
fmulp st(1)
fcomp qword [0x4cf8a0]
fnstsw ax
sahf
ja 0x4cdc3a
mov edx, dword [ebp + 0x28]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x108]
jge 0x4cdc48
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4cf88e
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x108]
add dword [edx], ecx
jmp 0x4cdcf8
cmp dword [ebp - 0x58], 0
je 0x4cdc6a
cmp dword [ebp - 0x24], 0
jge 0x4cdc6a
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xf4], 1
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xc]
jge 0x4cdcf8
mov ecx, dword [ebx + 0x24]
mov dword [ebp - 0x10c], ecx
push esi
push dword [ebp - 0x64]
push edi
call fcn.004d9148
add esp, 0xc
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x10c]
jae 0x4cdcdc
xor edx, edx
mov dl, byte [eax]
shl edx, 8
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
add edx, esi
sar edx, 8
mov ecx, dword [ebx + 0x24]
mov byte [ecx], dl
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
mov ecx, esi
add dl, cl
and dl, 0xff
mov ecx, dword [ebx + 0x24]
mov byte [ecx + 1], dl
add dword [ebx + 0x24], 2
add eax, 2
cmp eax, dword [ebp - 0x10c]
jb 0x4cdca0
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x6c], eax
add edi, esi
inc dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xc]
jl 0x4cdc7f
cmp dword [ebp - 0x10], 0
jle 0x4cdd04
mov eax, dword [ebp - 0xc]
sub dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jl 0x4cdf08
cmp dword [ebp + 0x28], 0
je 0x4cdd7f
cmp dword [ebp - 0x10], 0
jle 0x4cdd7f
mov edx, dword [ebp - 0x44]
add edx, 7
imul edx, dword [ebp - 0x10]
add edx, 0xfffffffa
mov dword [ebp - 0x110], edx
fild dword [ebp - 0x10]
mov ecx, dword [ebp - 0x44]
add ecx, 7
mov dword [ebp - 0x1b8], ecx
fild dword [ebp - 0x1b8]
fmulp st(1)
fcomp qword [0x4cf8a0]
fnstsw ax
sahf
ja 0x4cdd61
mov edx, dword [ebp + 0x28]
mov ecx, 0x7fffffeb
sub ecx, dword [edx]
cmp ecx, dword [ebp - 0x110]
jge 0x4cdd6f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4cf88e
mov edx, dword [ebp + 0x28]
mov ecx, dword [ebp - 0x110]
add dword [edx], ecx
jmp 0x4cde8a
mov eax, dword [ebp - 0x10]
dec eax
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
jl 0x4cde8a
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x114], edx
mov cl, byte [ebp - 4]
add cl, 0x69
mov byte [edi], cl
inc edi
cmp dword [ebp - 0xf4], 0
je 0x4cddf0
mov byte [edi], 0x5e
inc edi
cmp dword [ebp - 0xfc], 0
jne 0x4cddc2
xor eax, eax
jmp 0x4cddca
mov eax, edi
sub eax, dword [ebp - 0xfc]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xfc], edi
mov edx, dword [ebp - 0x118]
sar edx, 8
mov byte [edi], dl
mov cl, byte [ebp - 0x118]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
push esi
push dword [ebp - 0x64]
push edi
call fcn.004d9148
add esp, 0xc
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x114]
jae 0x4cde6c
xor edx, edx
mov dl, byte [eax]
shl edx, 8
xor ecx, ecx
mov cl, byte [eax + 1]
or edx, ecx
add edx, esi
cmp dword [ebp - 0xf4], 0
je 0x4cde28
mov ecx, 4
jmp 0x4cde2d
mov ecx, 1
add edx, ecx
sar edx, 8
mov ecx, dword [ebx + 0x24]
mov byte [ecx], dl
mov dl, byte [eax]
shl edx, 8
or dl, byte [eax + 1]
mov ecx, esi
add dl, cl
cmp dword [ebp - 0xf4], 0
je 0x4cde50
mov cl, 4
jmp 0x4cde52
mov cl, 1
add dl, cl
and dl, 0xff
mov ecx, dword [ebx + 0x24]
mov byte [ecx + 1], dl
add dword [ebx + 0x24], 2
add eax, 2
cmp eax, dword [ebp - 0x114]
jb 0x4cde08
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x6c], eax
add edi, esi
dec dword [ebp - 0xf4]
cmp dword [ebp - 0xf4], 0
jge 0x4cdd96
cmp dword [ebp - 0xfc], 0
je 0x4cdfdb
mov eax, edi
sub eax, dword [ebp - 0xfc]
inc eax
mov edx, edi
sub edx, eax
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
movzx esi, byte [edx + 2]
or ecx, esi
mov dword [ebp - 0x11c], ecx
cmp dword [ebp - 0x11c], 0
jne 0x4cdec5
xor ecx, ecx
jmp 0x4cded1
mov ecx, dword [ebp - 0xfc]
sub ecx, dword [ebp - 0x11c]
mov dword [ebp - 0xfc], ecx
mov byte [edi], 0x55
inc edi
mov ecx, eax
sar ecx, 8
mov byte [edi], cl
mov ecx, eax
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov ecx, eax
sar ecx, 8
mov byte [edx + 1], cl
and al, 0xff
mov byte [edx + 2], al
cmp dword [ebp - 0xfc], 0
jne 0x4cde97
jmp 0x4cdfdb
mov eax, edi
sub eax, dword [ebp - 0xf8]
mov dword [ebp - 0x120], eax
mov edx, dword [ebp - 0x120]
xor eax, eax
mov al, byte [edx + 1]
shl eax, 8
mov edx, dword [ebp - 0x120]
xor ecx, ecx
mov cl, byte [edx + 2]
or eax, ecx
mov edx, dword [ebp - 0x120]
sub edx, eax
mov dword [ebp - 0x124], edx
mov al, byte [ebp - 4]
add al, 0x56
mov ecx, dword [ebp - 0x120]
mov byte [ecx], al
cmp dword [ebp + 0x28], 0
jne 0x4cdfdb
mov eax, dword [ebp - 0x124]
cmp byte [eax], 0x5d
je 0x4cdfdb
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x128], edx
push dword [ebp - 0x70]
push dword [ebp - 0x120]
push dword [ebp - 0x128]
call fcn.004cbcb6
add esp, 0xc
test eax, eax
je 0x4cdf93
mov ecx, dword [ebp - 0x124]
add byte [ecx], 3
jmp 0x4cdfdb
mov eax, dword [ebp - 0x128]
xor edx, edx
mov dl, byte [eax + 1]
shl edx, 8
mov ecx, dword [ebp - 0x128]
xor eax, eax
mov al, byte [ecx + 2]
or edx, eax
add dword [ebp - 0x128], edx
mov edx, dword [ebp - 0x128]
cmp byte [edx], 0x54
je 0x4cdf6d
jmp 0x4cdfdb
mov ecx, dword [ebp - 0x64]
cmp byte [ecx], 0x6f
je 0x4ce1a7
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xb
jmp 0x4cf88e
cmp dword [ebp - 0x80], 0
je 0x4ce1a7
mov edx, dword [ebp - 0x50]
cmp byte [edx], 0x41
jne 0x4ce01e
mov ecx, dword [ebp - 0x50]
cmp byte [ecx + 3], 0x10
je 0x4cdfff
mov eax, dword [ebp - 0x50]
cmp byte [eax + 3], 0xf
jne 0x4ce006
mov edx, 2
jmp 0x4ce008
xor edx, edx
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov cl, byte [eax]
xor eax, eax
mov al, byte [ecx + 0x716274]
add edx, eax
add dword [ebp - 0x50], edx
jmp 0x4ce040
mov edx, dword [ebp - 0x50]
cmp byte [edx], 0x27
je 0x4ce02e
mov ecx, dword [ebp - 0x50]
cmp byte [ecx], 0x34
jne 0x4ce040
mov eax, dword [ebp - 0x50]
xor edx, edx
mov dl, byte [eax]
xor ecx, ecx
mov cl, byte [edx + 0x716274]
add dword [ebp - 0x50], ecx
mov eax, edi
sub eax, dword [ebp - 0x50]
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
jle 0x4ce1a7
mov edx, dword [ebp - 0x50]
xor ecx, ecx
mov cl, byte [edx]
add ecx, 0xffffffe1
cmp ecx, 0x20
ja case.0x4ce071.31
mov cl, byte [ecx + 0x4ce078]
jmp dword [ecx*4 + 0x4ce099]
mov eax, dword [ebp - 0x50]
mov byte [eax], 0x28
jmp 0x4ce1a7
mov edx, dword [ebp - 0x50]
mov byte [edx], 0x29
jmp 0x4ce1a7
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0x2a
jmp 0x4ce1a7
mov eax, dword [ebp - 0x50]
mov byte [eax], 0x2b
jmp 0x4ce1a7
mov edx, dword [ebp - 0x50]
mov byte [edx], 0x42
jmp 0x4ce1a7
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0x43
jmp 0x4ce1a7
mov eax, dword [ebp - 0x50]
mov byte [eax], 0x44
jmp 0x4ce1a7
mov edx, dword [ebp - 0x50]
mov byte [edx], 0x45
jmp 0x4ce1a7
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0x35
jmp 0x4ce1a7
mov eax, dword [ebp - 0x50]
mov byte [eax], 0x36
jmp 0x4ce1a7
mov edx, dword [ebp - 0x50]
mov byte [edx], 0x37
jmp 0x4ce1a7
mov ecx, dword [ebp - 0x50]
mov byte [ecx], 0x38
jmp 0x4ce1a7
push dword [ebp - 0x12c]
push dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
add eax, 3
push eax
call fcn.004d916c
add esp, 0xc
add edi, 3
add dword [ebp - 0x12c], 3
mov edx, dword [ebp - 0x50]
mov byte [edx], 0x5d
mov byte [edi], 0x55
inc edi
mov ecx, dword [ebp - 0x12c]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x12c]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
mov edx, dword [ebp - 0x12c]
sar edx, 8
mov ecx, dword [ebp - 0x50]
mov byte [ecx + 1], dl
mov al, byte [ebp - 0x12c]
and al, 0xff
mov edx, dword [ebp - 0x50]
mov byte [edx + 2], al
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x34]
or dword [ebx + 0x4c], eax
jmp 0x4cf886
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x98], edx
xor ecx, ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x14], 0x5f
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x6c], eax
xor edx, edx
mov dword [ebp - 0x8c], edx
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x2a
jne 0x4ce318
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax + 1]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 2
je 0x4ce318
mov dword [ebp - 0x134], str.ACCEPT
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x138], eax
xor edx, edx
mov dword [ebp - 0x64], edx
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 2
jne 0x4ce21c
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x3a
jne 0x4ce245
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x4cf88e
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x29
je 0x4ce25b
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x4cf88e
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebp - 0x138]
mov dword [ebp - 0x130], eax
xor esi, esi
jmp 0x4ce2ed
mov eax, dword [esi*8 + 0x715630]
cmp eax, dword [ebp - 0x130]
jne 0x4ce2de
push dword [ebp - 0x130]
push dword [ebp - 0x134]
push dword [ebp - 0x138]
call fcn.004d9434
add esp, 0xc
test eax, eax
jne 0x4ce2de
cmp dword [esi*8 + 0x715634], 0x70
jne 0x4ce2d2
mov dword [ebx + 0x50], 1
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x4ce2d2
mov byte [edi], 0x71
inc edi
movzx edx, word [eax + 4]
sar edx, 8
mov byte [edi], dl
mov cl, byte [eax + 4]
and cl, 0xff
mov byte [edi + 1], cl
add edi, 2
mov eax, dword [eax]
test eax, eax
jne 0x4ce2b3
mov al, byte [esi*8 + 0x715634]
mov byte [edi], al
inc edi
jmp 0x4ce2f9
mov edx, dword [esi*8 + 0x715630]
inc edx
add dword [ebp - 0x134], edx
inc esi
cmp esi, dword [0x715668]
jl 0x4ce26e
cmp esi, dword [0x715668]
jl 0x4cf886
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3c
jmp 0x4cf88e
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x3f
jne 0x4cf24d
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 0x3a
jg 0x4ce3b0
je 0x4ce42f
add ecx, 0xffffffdf
cmp ecx, 0x18
ja case.0x4ce345.34
jmp dword [ecx*4 + 0x4ce34c]
cmp ecx, 0x43
jg 0x4ce3d7
je 0x4ce945
sub ecx, 0x3c
je 0x4ce8e0
dec ecx
je 0x4ce8ac
dec ecx
je 0x4ce936
jmp case.0x4ce345.34
sub ecx, 0x50
je 0x4ce9f3
sub ecx, 2
je 0x4cee41
sub ecx, 0x2a
je 0x4ce425
jmp case.0x4ce345.34
inc dword [ebp - 0x5c]
jmp 0x4ce3fb
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0
je 0x4ce40b
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x29
jne 0x4ce3f8
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0
jne 0x4cf886
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x4cf88e
mov dword [ebp - 0x8c], 1
mov dword [ebp - 0x14], 0x5e
inc dword [ebp - 0x5c]
jmp 0x4cf27b
mov dword [ebp - 0x14], 0x60
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3f
jne 0x4ce475
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 2], 0x3d
je 0x4cf27b
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 2], 0x21
je 0x4cf27b
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 2], 0x3c
je 0x4cf27b
mov byte [edi + 3], 0x64
mov dword [ebp - 0xa4], 3
mov dword [ebp - 0xa0], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x52
jne 0x4ce4b3
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 2], 0x26
jne 0x4ce4b3
mov dword [ebp - 0xb0], 0xffffffff
add dword [ebp - 0x5c], 2
mov byte [edi + 3], 0x66
jmp 0x4ce50d
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x3c
jne 0x4ce4cb
mov dword [ebp - 0xb0], 0x3e
inc dword [ebp - 0x5c]
jmp 0x4ce50d
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x27
jne 0x4ce4e3
mov dword [ebp - 0xb0], 0x27
inc dword [ebp - 0x5c]
jmp 0x4ce50d
xor eax, eax
mov dword [ebp - 0xb0], eax
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x2d
je 0x4ce4fd
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x2b
jne 0x4ce50d
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
mov dword [ebp - 0xa0], edx
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx + 1]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 0x10
jne 0x4ce52f
inc dword [ebp - 0x5c]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1c
jmp 0x4cf88e
xor eax, eax
mov dword [ebp - 0x9c], eax
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x150], edx
jmp 0x4ce583
cmp dword [ebp - 0x9c], 0
jl 0x4ce580
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
test byte [eax + 0x716108], 4
je 0x4ce577
mov edx, dword [ebp - 0x9c]
add edx, edx
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
add edx, eax
add edx, 0xffffffd0
jmp 0x4ce57a
or edx, 0xffffffff
mov dword [ebp - 0x9c], edx
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 0x10
jne 0x4ce545
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x150]
mov dword [ebp - 0x148], ecx
cmp dword [ebp - 0xb0], 0
jle 0x4ce5bd
mov eax, dword [ebp - 0x5c]
inc dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
cmp edx, dword [ebp - 0xb0]
jne 0x4ce5c8
mov ecx, dword [ebp - 0x5c]
inc dword [ebp - 0x5c]
cmp byte [ecx], 0x29
je 0x4ce5d9
dec dword [ebp - 0x5c]
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1a
jmp 0x4cf88e
cmp dword [ebp + 0x28], 0
jne 0x4cf27b
cmp dword [ebp - 0xa0], 0
jle 0x4ce666
cmp dword [ebp - 0x9c], 0
jg 0x4ce603
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x3a
jmp 0x4cf88e
cmp dword [ebp - 0xa0], 0x2d
jne 0x4ce618
mov ecx, dword [ebx + 0x34]
sub ecx, dword [ebp - 0x9c]
inc ecx
jmp 0x4ce621
mov ecx, dword [ebp - 0x9c]
add ecx, dword [ebx + 0x34]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0
jle 0x4ce63b
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebx + 0x38]
jle 0x4ce649
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4cf88e
mov eax, dword [ebp - 0x9c]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0x9c]
and dl, 0xff
mov byte [edi + 5], dl
jmp 0x4cf27b
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x154], ecx
xor eax, eax
mov dword [ebp - 0x13c], eax
jmp 0x4ce6aa
push dword [ebp - 0x148]
mov edx, dword [ebp - 0x154]
add edx, 2
push edx
push dword [ebp - 0x150]
call fcn.004d9434
add esp, 0xc
test eax, eax
je 0x4ce6b5
mov ecx, dword [ebx + 0x30]
add dword [ebp - 0x154], ecx
inc dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebx + 0x2c]
jl 0x4ce679
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebx + 0x2c]
jge 0x4ce700
mov ecx, dword [ebp - 0x154]
xor eax, eax
mov al, byte [ecx]
shl eax, 8
mov edx, dword [ebp - 0x154]
xor ecx, ecx
mov cl, byte [edx + 1]
or eax, ecx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
sar eax, 8
mov byte [edi + 4], al
mov dl, byte [ebp - 0x9c]
and dl, 0xff
mov byte [edi + 5], dl
inc byte [edi + 3]
jmp 0x4cf27b
test byte [ebp - 0x3c], 8
setne cl
and ecx, 1
push ecx
push dword [ebp - 0x148]
push dword [ebp - 0x150]
push ebx
call fcn.004cb7a1
add esp, 0x10
mov dword [ebp - 0x13c], eax
test eax, eax
jle 0x4ce74a
mov edx, dword [ebp - 0x13c]
sar edx, 8
mov byte [edi + 4], dl
mov cl, byte [ebp - 0x13c]
and cl, 0xff
mov byte [edi + 5], cl
inc byte [edi + 3]
jmp 0x4cf27b
cmp dword [ebp - 0xb0], 0
je 0x4ce761
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x4cf88e
mov edx, dword [ebp - 0x150]
cmp byte [edx], 0x52
jne 0x4ce827
xor ecx, ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x13c], 1
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x148]
jge 0x4ce7f3
mov edx, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x13c]
xor eax, eax
mov al, byte [edx + ecx]
test byte [eax + 0x716108], 4
jne 0x4ce7b8
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4cf88e
mov ecx, dword [ebp - 0x150]
mov eax, dword [ebp - 0x13c]
xor edx, edx
mov dl, byte [ecx + eax]
mov ecx, dword [ebp - 0x9c]
add ecx, ecx
lea ecx, [ecx + ecx*4]
add edx, ecx
add edx, 0xffffffd0
mov dword [ebp - 0x9c], edx
inc dword [ebp - 0x13c]
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebp - 0x148]
jl 0x4ce790
cmp dword [ebp - 0x9c], 0
jne 0x4ce806
mov dword [ebp - 0x9c], 0xffff
mov byte [edi + 3], 0x66
mov edx, dword [ebp - 0x9c]
sar edx, 8
mov byte [edi + 4], dl
mov cl, byte [ebp - 0x9c]
and cl, 0xff
mov byte [edi + 5], cl
jmp 0x4cf27b
cmp dword [ebp - 0x148], 6
jne 0x4ce85c
push 6
push str.DEFINE
push dword [ebp - 0x150]
call fcn.004d9434
add esp, 0xc
test eax, eax
jne 0x4ce85c
mov byte [edi + 3], 0x68
mov dword [ebp - 0xa4], 1
jmp 0x4cf27b
cmp dword [ebp - 0x9c], 0
jle 0x4ce88d
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebx + 0x38]
jg 0x4ce88d
mov edx, dword [ebp - 0x9c]
sar edx, 8
mov byte [edi + 4], dl
mov cl, byte [ebp - 0x9c]
and cl, 0xff
mov byte [edi + 5], cl
jmp 0x4cf27b
cmp dword [ebp - 0x9c], 0
jne 0x4ce89d
mov eax, 0x23
jmp 0x4ce8a2
mov eax, 0xf
mov edx, dword [ebp + 0x14]
mov dword [edx], eax
jmp 0x4cf88e
mov dword [ebp - 0x14], 0x58
inc dword [ebp - 0x5c]
jmp 0x4cf27b
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x29
jne 0x4ce8d4
mov byte [edi], 0x6f
inc edi
xor eax, eax
mov dword [ebp - 0x64], eax
jmp 0x4cf886
mov dword [ebp - 0x14], 0x59
jmp 0x4cf27b
mov edx, dword [ebp - 0x5c]
mov cl, byte [edx + 1]
sub cl, 0x21
je 0x4ce900
sub cl, 0x1c
jne 0x4ce910
mov dword [ebp - 0x14], 0x5a
add dword [ebp - 0x5c], 2
jmp 0x4cf27b
mov dword [ebp - 0x14], 0x5b
add dword [ebp - 0x5c], 2
jmp 0x4cf27b
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax + 1]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 0x10
jne case.0x4ce345.39
inc dword [ebp - 0x5c]
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x18
jmp 0x4cf88e
mov dword [ebp - 0x14], 0x5d
inc dword [ebp - 0x5c]
jmp 0x4cf27b
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x40], 1
mov byte [edi], 0x53
inc edi
xor edx, edx
mov dword [ebp - 0x158], edx
jmp 0x4ce97a
mov ecx, dword [ebp - 0x158]
add ecx, ecx
lea ecx, [ecx + ecx*4]
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
add ecx, edx
add ecx, 0xffffffd0
mov dword [ebp - 0x158], ecx
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
test byte [eax + 0x716108], 4
jne 0x4ce95d
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x29
je 0x4ce9a3
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x27
jmp 0x4cf88e
cmp dword [ebp - 0x158], 0xff
jle 0x4ce9bd
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x4cf88e
mov dl, byte [ebp - 0x158]
mov byte [edi], dl
inc edi
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebx + 0x18]
inc ecx
sar ecx, 8
mov byte [edi], cl
mov eax, dword [ebp - 0x5c]
sub eax, dword [ebx + 0x18]
inc eax
and al, 0xff
mov byte [edi + 1], al
mov byte [edi + 2], 0
mov byte [edi + 3], 0
add edi, 4
xor edx, edx
mov dword [ebp - 0x64], edx
jmp 0x4cf886
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x3d
je 0x4cea06
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x3e
jne 0x4cea27
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x3e
sete cl
and ecx, 1
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xb0], 0x29
jmp 0x4cecda
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x3c
je case.0x4ce345.39
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x29
jmp 0x4cf88e
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x3c
jne 0x4cea4c
mov eax, 0x3e
jmp 0x4cea51
mov eax, 0x27
mov dword [ebp - 0xb0], eax
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x150], edx
jmp 0x4cea68
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
mov edx, dword [ebx + 0xc]
test byte [edx + eax], 0x10
jne 0x4cea65
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [ebp - 0x150]
mov dword [ebp - 0x148], ecx
cmp dword [ebp + 0x28], 0
je 0x4ceafa
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
cmp edx, dword [ebp - 0xb0]
je 0x4ceaaa
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x4cf88e
cmp dword [ebx + 0x2c], 0x2710
jl 0x4ceac1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x31
jmp 0x4cf88e
mov edx, dword [ebp - 0x148]
add edx, 3
cmp edx, dword [ebx + 0x30]
jle 0x4cecbb
mov ecx, dword [ebp - 0x148]
add ecx, 3
mov dword [ebx + 0x30], ecx
cmp dword [ebp - 0x148], 0x20
jle 0x4cecbb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x4cf88e
xor edx, edx
mov dword [ebp - 0x15c], edx
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x154], ecx
xor eax, eax
mov dword [ebp - 0x13c], eax
jmp 0x4cebe4
push dword [ebp - 0x148]
mov edx, dword [ebp - 0x154]
add edx, 2
push edx
push dword [ebp - 0x150]
call fcn.004d945c
add esp, 0xc
mov dword [ebp - 0x160], eax
cmp dword [ebp - 0x160], 0
jne 0x4ceba4
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x148]
cmp byte [ecx + eax + 2], 0
jne 0x4ceb9a
mov edx, dword [ebp - 0x154]
xor ecx, ecx
mov cl, byte [edx]
shl ecx, 8
mov eax, dword [ebp - 0x154]
xor edx, edx
mov dl, byte [eax + 1]
or ecx, edx
mov eax, dword [ebx + 0x34]
inc eax
cmp ecx, eax
je 0x4ceb8e
test byte [ebp - 0x3a], 8
jne 0x4ceb8e
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x2b
jmp 0x4cf88e
mov dword [ebp - 0x15c], 1
jmp 0x4ceba4
mov dword [ebp - 0x160], 0xffffffff
cmp dword [ebp - 0x160], 0
jge 0x4cebd5
mov ecx, dword [ebx + 0x2c]
sub ecx, dword [ebp - 0x13c]
imul ecx, dword [ebx + 0x30]
push ecx
push dword [ebp - 0x154]
mov eax, dword [ebp - 0x154]
add eax, dword [ebx + 0x30]
push eax
call fcn.004d916c
add esp, 0xc
jmp 0x4cebf3
mov edx, dword [ebx + 0x30]
add dword [ebp - 0x154], edx
inc dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebx + 0x2c]
jl 0x4ceb18
cmp dword [ebp - 0x15c], 0
jne 0x4cec6d
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x164], eax
xor edx, edx
mov dword [ebp - 0x13c], edx
jmp 0x4cec62
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp - 0x154]
je 0x4cec4d
mov eax, dword [ebp - 0x164]
xor edx, edx
mov dl, byte [eax]
shl edx, 8
mov ecx, dword [ebp - 0x164]
xor eax, eax
mov al, byte [ecx + 1]
or edx, eax
mov ecx, dword [ebx + 0x34]
inc ecx
cmp edx, ecx
jne 0x4cec53
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x41
jmp 0x4cf88e
dec dword [ebp - 0x13c]
mov eax, dword [ebx + 0x30]
add dword [ebp - 0x164], eax
inc dword [ebp - 0x13c]
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebx + 0x2c]
jl 0x4cec0f
mov ecx, dword [ebx + 0x34]
inc ecx
sar ecx, 8
mov eax, dword [ebp - 0x154]
mov byte [eax], cl
mov dl, byte [ebx + 0x34]
inc edx
and dl, 0xff
mov ecx, dword [ebp - 0x154]
mov byte [ecx + 1], dl
push dword [ebp - 0x148]
push dword [ebp - 0x150]
mov eax, dword [ebp - 0x154]
add eax, 2
push eax
call fcn.004d9148
add esp, 0xc
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x148]
mov byte [edx + ecx + 2], 0
inc dword [ebx + 0x2c]
inc dword [ebp - 0x5c]
jmp 0x4cf25c
mov dword [ebp - 0xb0], 0x29
mov dword [ebp - 0x88], 1
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x150], eax
jmp 0x4ceceb
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
mov eax, dword [ebx + 0xc]
test byte [eax + ecx], 0x10
jne 0x4cece8
mov edx, dword [ebp - 0x5c]
sub edx, dword [ebp - 0x150]
mov dword [ebp - 0x148], edx
cmp dword [ebp + 0x28], 0
je 0x4ced68
cmp dword [ebp - 0x148], 0
jne 0x4ced27
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x3e
jmp 0x4cf88e
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
cmp edx, dword [ebp - 0xb0]
je 0x4ced44
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x2a
jmp 0x4cf88e
cmp dword [ebp - 0x148], 0x20
jle 0x4ced5b
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x4cf88e
xor edx, edx
mov dword [ebp - 0x9c], edx
jmp 0x4cee2f
mov ecx, dword [ebx + 0x28]
mov dword [ebp - 0x154], ecx
xor eax, eax
mov dword [ebp - 0x13c], eax
jmp 0x4cedbf
push dword [ebp - 0x148]
mov edx, dword [ebp - 0x154]
add edx, 2
push edx
push dword [ebp - 0x150]
call fcn.004d9434
add esp, 0xc
test eax, eax
jne 0x4cedb0
mov ecx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x148]
cmp byte [ecx + eax + 2], 0
je 0x4cedca
mov edx, dword [ebx + 0x30]
add dword [ebp - 0x154], edx
inc dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebx + 0x2c]
jl 0x4ced7b
mov eax, dword [ebp - 0x13c]
cmp eax, dword [ebx + 0x2c]
jge 0x4cedf7
mov edx, dword [ebp - 0x154]
xor ecx, ecx
mov cl, byte [edx]
shl ecx, 8
mov eax, dword [ebp - 0x154]
xor edx, edx
mov dl, byte [eax + 1]
or ecx, edx
mov dword [ebp - 0x9c], ecx
jmp 0x4cee2f
test byte [ebp - 0x3c], 8
setne cl
and ecx, 1
push ecx
push dword [ebp - 0x148]
push dword [ebp - 0x150]
push ebx
call fcn.004cb7a1
add esp, 0x10
mov dword [ebp - 0x9c], eax
test eax, eax
jg 0x4cee2f
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4cf88e
cmp dword [ebp - 0x88], 0
jne 0x4cef69
jmp 0x4cf6e7
inc dword [ebp - 0x5c]
mov dword [ebp - 0xb0], 0x29
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
mov dword [ebp - 0xa0], eax
cmp eax, 0x2b
jne 0x4cee81
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
test byte [ecx + 0x716108], 4
jne 0x4ceea2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x4cf88e
cmp dword [ebp - 0xa0], 0x2d
jne 0x4ceea2
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx + 1]
test byte [ecx + 0x716108], 4
je case.0x4ce345.34
inc dword [ebp - 0x5c]
xor eax, eax
mov dword [ebp - 0x9c], eax
jmp 0x4ceecc
mov edx, dword [ebp - 0x9c]
add edx, edx
lea edx, [edx + edx*4]
mov ecx, dword [ebp - 0x5c]
xor eax, eax
mov al, byte [ecx]
add edx, eax
add edx, 0xffffffd0
mov dword [ebp - 0x9c], edx
inc dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov cl, byte [edx]
test byte [ecx + 0x716108], 4
jne 0x4ceeac
mov eax, dword [ebp - 0x5c]
xor edx, edx
mov dl, byte [eax]
cmp edx, dword [ebp - 0xb0]
je 0x4ceef9
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1d
jmp 0x4cf88e
cmp dword [ebp - 0xa0], 0x2d
jne 0x4cef40
cmp dword [ebp - 0x9c], 0
jne 0x4cef19
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x4cf88e
mov edx, dword [ebx + 0x34]
sub edx, dword [ebp - 0x9c]
inc edx
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 0
jg 0x4cef69
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xf
jmp 0x4cf88e
cmp dword [ebp - 0xa0], 0x2b
jne 0x4cef69
cmp dword [ebp - 0x9c], 0
jne 0x4cef60
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x4cf88e
mov edx, dword [ebx + 0x34]
add dword [ebp - 0x9c], edx
mov dword [ebp - 0x64], edi
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0x168], ecx
cmp dword [ebp + 0x28], 0
jne 0x4cf052
mov byte [edi], 0
cmp dword [ebp - 0x9c], 0
je 0x4cefa5
push dword [ebp - 0x9c]
push dword [ebp - 0x70]
push dword [ebx + 0x14]
call fcn.004cbb7b
add esp, 0xc
mov dword [ebp - 0x168], eax
cmp dword [ebp - 0x168], 0
jne 0x4cf00e
test byte [ebp - 0x3c], 8
setne al
and eax, 1
push eax
push dword [ebp - 0x9c]
push 0
push ebx
call fcn.004cb7a1
add esp, 0x10
test eax, eax
jge 0x4cefdc
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xf
jmp 0x4cf88e
mov ecx, dword [ebx + 0x14]
add ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x168], ecx
lea eax, [edi + 4]
sub eax, dword [ebx + 0x14]
sar eax, 8
mov edx, dword [ebx + 0x24]
mov byte [edx], al
lea ecx, [edi + 4]
sub ecx, dword [ebx + 0x14]
and cl, 0xff
mov eax, dword [ebx + 0x24]
mov byte [eax + 1], cl
add dword [ebx + 0x24], 2
jmp 0x4cf052
mov edx, dword [ebp - 0x168]
xor ecx, ecx
mov cl, byte [edx + 1]
shl ecx, 8
mov eax, dword [ebp - 0x168]
xor edx, edx
mov dl, byte [eax + 2]
or ecx, edx
jne 0x4cf052
push dword [ebp - 0x70]
push dword [ebp + 0x20]
push edi
push dword [ebp - 0x168]
call fcn.004cbf02
add esp, 0x10
test eax, eax
je 0x4cf052
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x28
jmp 0x4cf88e
mov byte [edi], 0x5d
mov byte [edi + 1], 0
mov byte [edi + 2], 6
add edi, 3
mov byte [edi], 0x52
mov eax, dword [ebp - 0x168]
sub eax, dword [ebx + 0x14]
sar eax, 8
mov byte [edi + 1], al
mov edx, dword [ebp - 0x168]
sub edx, dword [ebx + 0x14]
and dl, 0xff
mov byte [edi + 2], dl
add edi, 3
mov byte [edi], 0x55
mov byte [edi + 1], 0
mov byte [edi + 2], 6
add edi, 3
mov dword [ebp - 0x44], 9
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cf886
mov dword [ebp - 0x20], 0xffffffff
jmp 0x4cf886
xor ecx, ecx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], ecx
lea eax, [ebp - 0x140]
mov dword [ebp - 0x14c], eax
jmp 0x4cf17c
mov edx, dword [ebp - 0x5c]
inc dword [ebp - 0x5c]
xor eax, eax
mov al, byte [edx]
cmp eax, 0x69
jg 0x4cf0f5
je 0x4cf126
sub eax, 0x2d
je 0x4cf106
sub eax, 0x1d
je 0x4cf114
sub eax, 0xb
je 0x4cf152
sub eax, 3
je 0x4cf160
jmp 0x4cf16b
sub eax, 0x6d
je 0x4cf131
sub eax, 6
je 0x4cf13c
sub eax, 5
je 0x4cf147
jmp 0x4cf16b
lea edx, [ebp - 0x144]
mov dword [ebp - 0x14c], edx
jmp 0x4cf17c
mov ecx, dword [ebp - 0x14c]
or dword [ecx], 0x80000
or dword [ebx + 0x48], 0x10
jmp 0x4cf17c
mov eax, dword [ebp - 0x14c]
or dword [eax], 1
jmp 0x4cf17c
mov edx, dword [ebp - 0x14c]
or dword [edx], 2
jmp 0x4cf17c
mov ecx, dword [ebp - 0x14c]
or dword [ecx], 4
jmp 0x4cf17c
mov eax, dword [ebp - 0x14c]
or dword [eax], 8
jmp 0x4cf17c
mov edx, dword [ebp - 0x14c]
or dword [edx], 0x200
jmp 0x4cf17c
mov ecx, dword [ebp - 0x14c]
or dword [ecx], 0x40
jmp 0x4cf17c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
dec dword [ebp - 0x5c]
jmp 0x4cf88e
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x29
je 0x4cf190
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x3a
jne 0x4cf0ce
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x140]
mov edx, dword [ebp - 0x144]
not edx
and eax, edx
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x29
jne 0x4cf241
mov eax, dword [ebx + 0x14]
add eax, 3
cmp edi, eax
jne 0x4cf1d8
cmp dword [ebp + 0x28], 0
je 0x4cf1cd
mov edx, dword [ebp + 0x28]
cmp dword [edx], 6
jne 0x4cf1d8
mov ecx, dword [ebp - 0x98]
mov dword [ebx + 0x44], ecx
jmp 0x4cf229
mov eax, dword [ebp - 0x3c]
and eax, 7
mov edx, dword [ebp - 0x98]
and edx, 7
cmp eax, edx
je 0x4cf1fb
mov byte [edi], 0x19
inc edi
mov cl, byte [ebp - 0x98]
and cl, 7
mov byte [edi], cl
inc edi
test byte [ebp - 0x97], 2
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x18]
xor edx, 1
mov dword [ebp - 0x1c], edx
test byte [ebp - 0x98], 1
je 0x4cf224
mov ecx, 0x100
jmp 0x4cf226
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp + 8]
mov dword [edx], eax
xor ecx, ecx
mov dword [ebp - 0x64], ecx
jmp 0x4cf886
mov dword [ebp - 0x14], 0x5e
inc dword [ebp - 0x5c]
jmp 0x4cf27b
test byte [ebp - 0x3b], 0x10
je 0x4cf25c
mov dword [ebp - 0x14], 0x5e
jmp 0x4cf27b
inc dword [ebx + 0x34]
mov eax, dword [ebx + 0x34]
sar eax, 8
mov byte [edi + 3], al
mov dl, byte [ebx + 0x34]
and dl, 0xff
mov byte [edi + 4], dl
mov dword [ebp - 0xa4], 2
cmp dword [ebp - 0x14], 0x5d
jl 0x4cf285
mov ecx, edi
jmp 0x4cf287
xor ecx, ecx
mov dword [ebp - 0x64], ecx
mov al, byte [ebp - 0x14]
mov byte [edi], al
mov dword [ebp - 0x50], edi
mov edx, dword [ebx + 0x4c]
mov dword [ebp - 0x38], edx
xor eax, eax
mov dword [ebp - 0x44], eax
cmp dword [ebp + 0x28], 0
jne 0x4cf2a7
xor edx, edx
jmp 0x4cf2aa
lea edx, [ebp - 0x44]
push edx
push ebx
push dword [ebp + 0x20]
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xac]
push ecx
push dword [ebp - 0xa4]
push dword [ebp - 0x8c]
cmp dword [ebp - 0x14], 0x5a
je 0x4cf2d9
cmp dword [ebp - 0x14], 0x5b
je 0x4cf2d9
xor eax, eax
jmp 0x4cf2de
mov eax, 1
push eax
push dword [ebp + 0x14]
lea edx, [ebp - 0x5c]
push edx
lea ecx, [ebp - 0x50]
push ecx
mov eax, dword [ebp - 0x3c]
and eax, 7
push eax
push dword [ebp - 0x98]
call fcn.004cf8a8
add esp, 0x34
test eax, eax
je 0x4cf88e
cmp dword [ebp - 0x14], 0x60
jne 0x4cf3b0
cmp dword [ebp + 0x28], 0
jne 0x4cf3b0
mov dword [ebp - 0x16c], edi
xor edx, edx
mov dword [ebp - 0x170], edx
inc dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
xor eax, eax
mov al, byte [ecx + 1]
shl eax, 8
mov edx, dword [ebp - 0x16c]
xor ecx, ecx
mov cl, byte [edx + 2]
or eax, ecx
add dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x16c]
cmp byte [eax], 0x55
jne 0x4cf329
cmp byte [edi + 3], 0x68
jne 0x4cf381
cmp dword [ebp - 0x170], 1
jle 0x4cf378
mov edx, dword [ebp + 0x14]
mov dword [edx], 0x36
jmp 0x4cf88e
mov dword [ebp - 0x14], 0x68
jmp 0x4cf3b0
cmp dword [ebp - 0x170], 2
jle 0x4cf398
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0x1b
jmp 0x4cf88e
cmp dword [ebp - 0x170], 1
jne 0x4cf3b0
or eax, 0xffffffff
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0x5c]
cmp byte [edx], 0x29
je 0x4cf3c6
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xe
jmp 0x4cf88e
cmp dword [ebp + 0x28], 0
je 0x4cf41a
mov eax, dword [ebp + 0x28]
mov edx, 0x7fffffeb
sub edx, dword [eax]
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffffa
cmp edx, ecx
jge 0x4cf3ee
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x4cf88e
mov edx, dword [ebp - 0x44]
add edx, 0xfffffffa
mov ecx, dword [ebp + 0x28]
add dword [ecx], edx
mov byte [edi], 0x5e
inc edi
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
mov byte [edi], 0x55
inc edi
mov byte [edi], 0
mov byte [edi + 1], 3
add edi, 2
jmp 0x4cf886
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x14], 0x68
je 0x4cf886
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x14], 0x5d
jl 0x4cf4ab
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cf46f
cmp dword [ebp - 0xac], 0
jl 0x4cf45f
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x58], 1
jmp 0x4cf466
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x2c], 0xffffffff
jmp 0x4cf490
cmp dword [ebp - 0xac], 0
jl 0x4cf490
cmp dword [ebp - 0xa8], 0
jge 0x4cf490
mov edx, dword [ebp - 0xac]
or edx, dword [ebp - 0x38]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0
jl 0x4cf886
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x24], ecx
jmp 0x4cf886
cmp dword [ebp - 0x14], 0x58
jne 0x4cf886
cmp dword [ebp - 0xa8], 0
jl 0x4cf886
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x24], eax
jmp 0x4cf886
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], edx
push 0
push dword [ebp - 0x3c]
push dword [ebx + 0x34]
push dword [ebp + 0x14]
lea ecx, [ebp - 0x5c]
push ecx
call fcn.004cb005
add esp, 0x14
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
jne 0x4cf88e
test esi, esi
jge 0x4cf7a1
mov edx, esi
neg edx
cmp edx, 0x1a
jne 0x4cf533
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x5c
jne 0x4cf527
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 2], 0x45
jne 0x4cf527
add dword [ebp - 0x5c], 2
jmp 0x4cf886
mov dword [ebp - 0x54], 1
jmp 0x4cf886
mov edx, esi
neg edx
cmp edx, 0x19
je 0x4cf886
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cf55f
mov ecx, esi
neg ecx
cmp ecx, 5
jle 0x4cf55f
mov eax, esi
neg eax
cmp eax, 0x17
jge 0x4cf55f
mov dword [ebp - 0x20], 0xffffffff
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
mov eax, esi
neg eax
cmp eax, 0x1b
jne 0x4cf676
mov edx, dword [ebx + 0x24]
mov dword [ebp - 0x6c], edx
inc dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x3c
jne 0x4cf590
mov eax, 0x3e
jmp 0x4cf595
mov eax, 0x27
mov dword [ebp - 0xb0], eax
xor edx, edx
mov dword [ebp - 0xa4], edx
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x2b
je 0x4cf63e
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x2d
je 0x4cf63e
mov dword [ebp - 0x174], 1
mov eax, dword [ebp - 0x5c]
inc eax
jmp 0x4cf5f4
xor edx, edx
mov dl, byte [eax]
mov ecx, dword [ebx + 0xc]
test byte [ecx + edx], 4
jne 0x4cf5e6
xor edx, edx
mov dword [ebp - 0x174], edx
xor ecx, ecx
mov cl, byte [eax]
mov edx, dword [ebx + 0xc]
test byte [edx + ecx], 0x10
je 0x4cf605
inc eax
cmp byte [eax], 0
je 0x4cf605
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, dword [ebp - 0xb0]
jne 0x4cf5d1
movzx eax, byte [eax]
cmp eax, dword [ebp - 0xb0]
je 0x4cf61e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x4cf886
cmp dword [ebp - 0x174], 0
je 0x4cf62f
inc dword [ebp - 0x5c]
jmp 0x4cee4e
mov dword [ebp - 0x88], 1
jmp 0x4cecda
mov eax, dword [ebp - 0x5c]
add eax, 2
jmp 0x4cf647
inc eax
xor edx, edx
mov dl, byte [eax]
test byte [edx + 0x716108], 4
jne 0x4cf646
xor ecx, ecx
mov cl, byte [eax]
cmp ecx, dword [ebp - 0xb0]
je 0x4cf66e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x4cf886
inc dword [ebp - 0x5c]
jmp 0x4cee4e
mov edx, esi
neg edx
cmp edx, 0x1c
jne 0x4cf6d3
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx + 1], 0x3c
je 0x4cf69a
mov eax, dword [ebp - 0x5c]
cmp byte [eax + 1], 0x27
je 0x4cf69a
mov edx, dword [ebp - 0x5c]
cmp byte [edx + 1], 0x7b
jne 0x4cf6d3
xor ecx, ecx
mov dword [ebp - 0x88], ecx
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
cmp byte [eax], 0x3c
jne 0x4cf6b4
mov edx, 0x3e
jmp 0x4cf6c8
mov ecx, dword [ebp - 0x5c]
cmp byte [ecx], 0x27
jne 0x4cf6c3
mov edx, 0x27
jmp 0x4cf6c8
mov edx, 0x7d
mov dword [ebp - 0xb0], edx
jmp 0x4cecda
mov eax, esi
neg eax
cmp eax, 0x1d
jl 0x4cf751
neg esi
add esi, 0xffffffe3
mov dword [ebp - 0x9c], esi
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cf6f4
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x64], edi
mov byte [edi], 0x51
inc edi
mov ecx, dword [ebp - 0x9c]
sar ecx, 8
mov byte [edi], cl
mov al, byte [ebp - 0x9c]
and al, 0xff
mov byte [edi + 1], al
add edi, 2
cmp dword [ebp - 0x9c], 0x20
jge 0x4cf72c
mov ecx, dword [ebp - 0x9c]
mov edx, 1
shl edx, cl
jmp 0x4cf731
mov edx, 1
or dword [ebx + 0x40], edx
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebx + 0x3c]
jle 0x4cf886
mov ecx, dword [ebp - 0x9c]
mov dword [ebx + 0x3c], ecx
jmp 0x4cf886
mov eax, esi
neg eax
cmp eax, 0x16
je 0x4cf76c
mov edx, esi
neg edx
cmp edx, 0xf
je 0x4cf76c
mov ecx, esi
neg ecx
cmp ecx, 0x10
jne 0x4cf77a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2d
jmp 0x4cf88e
mov edx, esi
neg edx
cmp edx, 5
jle 0x4cf790
mov ecx, esi
neg ecx
cmp ecx, 0x17
jge 0x4cf790
mov eax, edi
jmp 0x4cf792
xor eax, eax
mov dword [ebp - 0x64], eax
mov edx, esi
neg dl
mov byte [edi], dl
inc edi
jmp 0x4cf886
mov ecx, esi
mov byte [ebp - 0xbc], cl
mov dword [ebp - 0xb4], 1
jmp 0x4cf7c7
mov dword [ebp - 0xb4], 1
mov eax, esi
mov byte [ebp - 0xbc], al
mov dword [ebp - 0x64], edi
test byte [ebp - 0x3c], 1
je 0x4cf7d4
mov dl, 0x1d
jmp 0x4cf7d6
mov dl, 0x1c
mov byte [edi], dl
inc edi
xor esi, esi
cmp esi, dword [ebp - 0xb4]
jge 0x4cf7f6
mov al, byte [ebp + esi - 0xbc]
mov byte [edi], al
inc edi
inc esi
cmp esi, dword [ebp - 0xb4]
jl 0x4cf7e3
cmp byte [ebp - 0xbc], 0xd
je 0x4cf808
cmp byte [ebp - 0xbc], 0xa
jne 0x4cf80c
or dword [ebx + 0x48], 0x20
cmp dword [ebp - 0x20], 0xfffffffe
jne 0x4cf85d
mov dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0xb4], 1
je 0x4cf82e
cmp dword [ebp - 0x30], 0
jne 0x4cf852
xor ecx, ecx
mov cl, byte [ebp - 0xbc]
or ecx, dword [ebp - 0x30]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0xb4], 1
je 0x4cf886
xor eax, eax
mov al, byte [edi - 1]
or eax, dword [ebx + 0x4c]
mov dword [ebp - 0x24], eax
jmp 0x4cf886
or edx, 0xffffffff
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], edx
jmp 0x4cf886
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0xb4], 1
je 0x4cf878
cmp dword [ebp - 0x30], 0
jne 0x4cf886
xor eax, eax
mov al, byte [edi - 1]
or eax, dword [ebp - 0x30]
or eax, dword [ebx + 0x4c]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x5c]
jmp 0x4cc90b
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x5c]
mov dword [edx], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret