Function at 0x5c31ce
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9a8
xor eax, eax
push ebx
push esi
push edi
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp + 0xc]
cmp edx, 0x4e
jg 0x5c3209
je 0x5c3540
sub edx, 2
je 0x5c3224
sub edx, 0x12
je 0x5c554b
sub edx, 0x1c
je 0x5c3533
jmp 0x5c5573
sub edx, 0x110
je 0x5c327b
dec edx
je 0x5c4bcc
dec edx
je 0x5c523f
jmp 0x5c5573
lea ecx, [ebp - 0x574]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.006054ba
mov edx, dword [ebp - 0x570]
lea eax, [ebp - 0x360]
push edx
mov ecx, dword [ebp - 0x574]
push ecx
push 0x4c08e2
push eax
call fcn.005fcc36
add esp, 0x10
push 0x4d53a4
lea edx, [ebp - 0x360]
push edx
push 0x4c08ef
push 0x4c08e8
call fcn.00605226
mov eax, 1
jmp 0x5c55c1
mov edx, dword [0x4ed2e4]
push edx
push 0
push 0x80
mov ecx, dword [ebp + 8]
push ecx
call fcn.0060557a
cmp dword [0x4d54b8], 0
je 0x5c338b
push 0x4d53a4
lea eax, [ebp - 0x360]
push 0x304
push eax
push 0x4bf244
push 0x4c08ef
push 0x4c08e8
call fcn.00605094
lea edx, [ebp - 0x10]
lea ecx, [ebp - 0xc]
push edx
push ecx
lea eax, [ebp - 0x360]
push 0x4c08e2
push eax
call fcn.005fccb2
add esp, 0x10
cmp eax, 2
jne 0x5c338b
lea edx, [ebp - 0x574]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006054ba
mov eax, dword [ebp - 0x574]
sub dword [ebp - 0x56c], eax
mov edx, dword [ebp - 0x570]
sub dword [ebp - 0x568], edx
push 0
call fcn.005f8236
mov ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0x56c]
cmp eax, ecx
jge 0x5c3335
push 0
call fcn.005f8236
sub eax, dword [ebp - 0x56c]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jge 0x5c3340
xor eax, eax
mov dword [ebp - 0xc], eax
push 1
call fcn.005f8236
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x568]
cmp eax, edx
jge 0x5c3364
push 1
call fcn.005f8236
sub eax, dword [ebp - 0x568]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jge 0x5c336f
xor ecx, ecx
mov dword [ebp - 0x10], ecx
push 0x205
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
mov edx, dword [ebp - 0xc]
push edx
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.006055c2
mov eax, dword [0x4eb344]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.006055c8
xor ecx, ecx
lea eax, [ebp - 0x584]
mov dword [ebp - 0x584], ecx
mov dword [ebp - 0x57c], 0x3e8
mov dword [ebp - 0x580], 0x10
mov dword [ebp - 0x578], 0x3e8
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
lea ecx, [ebp - 0x574]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605436
push 0
mov edx, dword [0x4d3b78]
push edx
push 0xeda
mov ecx, dword [ebp + 8]
push ecx
push 0x15
push 0x15
mov eax, dword [ebp - 0x568]
add eax, 0xffffffe9
push eax
push 2
push 0x50010040
push 0x4c0907
push 0x4c0900
push 0
call fcn.006053a6
mov dword [ebp - 0x30], eax
mov edx, dword [0x4ed2e8]
push edx
push 1
push 0xf7
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.0060557a
push 0
mov eax, dword [0x4d3b78]
push eax
push 0xed9
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x568]
sub ecx, dword [ebp - 0x580]
push ecx
mov eax, dword [ebp - 0x56c]
add eax, 0xfffffffe
push eax
push 0
push 1
push 0x52010200
push 0x4bf244
push 0x4c090b
push 0
call fcn.006053a6
mov dword [ebp - 0x34], eax
push 0
mov edx, dword [0x4ed2dc]
push edx
push 0x30
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0060557a
push 0x46bfdc
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x34]
push eax
call fcn.006055bc
mov dword [ebp - 0x658], 3
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x648], edx
mov ebx, ecx
mov dword [ebp - 0x644], 0xffffffff
mov dword [ebp - 4], ecx
mov dword [0x4ed2d4], eax
jmp 0x5c3501
lea edx, [ebx + ebx*2]
mov ecx, dword [0x4eb348]
dec eax
jne 0x5c3500
lea eax, [ebx + ebx*2]
mov edx, dword [0x4eb348]
lea ecx, [ebp - 0x658]
mov eax, dword [edx + eax*8 + 0xc]
mov dword [ebp - 0x64c], eax
push ecx
mov eax, dword [ebp - 4]
push eax
push 0x1307
mov edx, dword [ebp - 0x34]
push edx
call fcn.0060557a
inc dword [ebp - 4]
inc ebx
lea ecx, [ebx + ebx*2]
mov eax, dword [0x4eb348]
mov eax, dword [eax + ecx*8]
test eax, eax
jne 0x5c34c5
push 0
mov edx, dword [0x4eb350]
push edx
push 0x130c
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0060557a
mov dword [ebp - 0x1c], 1
jmp 0x5c5577
mov eax, dword [ebp + 0x10]
mov dword [0x4ed2dc], eax
jmp 0x5c5577
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
je 0x5c5577
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 8], 0xfffffdd9
jne 0x5c5577
xor eax, eax
xor edx, edx
mov dword [ebp - 0x584], eax
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x57c], 4
mov dword [ebp - 0x580], edx
mov dword [ebp - 0x578], 4
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605514
push 0
push 0
push 0x130b
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.0060557a
mov dword [0x4eb350], eax
push 0
push 0
push 0xb
mov eax, dword [ebp + 8]
push eax
call fcn.0060557a
xor ebx, ebx
jmp 0x5c35df
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.00605460
mov edi, eax
test edi, edi
je 0x5c35de
push edi
call fcn.006053ca
inc ebx
cmp ebx, dword [0x4eb354]
jl 0x5c35c0
lea edx, [ebp - 0x574]
xor eax, eax
push edx
mov dword [0x4ed2e0], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
call fcn.00605436
lea edx, [ebp - 0x574]
push edx
push 0
push 0x1328
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
call fcn.0060557a
xor edx, edx
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x570]
shl eax, 2
cdq
idiv dword [ebp - 0x578]
add eax, 9
xor ecx, ecx
mov dword [ebp - 0x10], eax
mov eax, dword [0x4eb348]
mov dword [ebp - 4], ecx
mov dword [ebp - 0x28], eax
mov ebx, ecx
jmp 0x5c4b99
mov esi, eax
mov eax, dword [ebp - 0x574]
shl eax, 2
mov ecx, dword [ebp - 0x28]
cdq
idiv dword [ebp - 0x57c]
add eax, dword [ecx + 4]
add eax, 8
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x58c], ecx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x588], 0xc
mov edx, dword [ebp - 4]
cmp edx, dword [0x4eb350]
jle 0x5c4b8e
cmp esi, 1
je 0x5c4ba6
test esi, esi
je 0x5c4ba6
cmp esi, 2
je 0x5c36bc
cmp esi, 3
jne 0x5c3740
mov ecx, 2
cmp esi, 2
je 0x5c36c9
add ecx, 2
add dword [ebp - 0x590], ecx
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40000000
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0xc]
push ecx
push 0x4c091b
push 0
call fcn.006053a6
mov edi, eax
mov eax, 0xc
cmp esi, 2
je 0x5c3738
add eax, 5
add dword [ebp - 0x10], eax
jmp 0x5c4b74
cmp esi, 4
jne 0x5c3753
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 8]
add dword [ebp - 0x10], ecx
jmp 0x5c4b94
cmp esi, 5
je 0x5c3766
cmp esi, 0x34
je 0x5c3766
cmp esi, 0x47
jne 0x5c37ed
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40010003
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0xc]
push ecx
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
lea eax, [ebx + 0xee2]
cmp dword [edx], 0
setne cl
and ecx, 1
push ecx
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 6
jl 0x5c38b5
cmp esi, 0x23
jg 0x5c38b5
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
mov ecx, dword [0x4d3b78]
push 0
push ecx
lea eax, [ebx + 0xee2]
push eax
cmp esi, 6
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov edx, 0x20000
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
je 0x5c3851
add edx, 0xfffe0000
or edx, 0x40010009
mov ecx, 0x8000000
cmp dword [ebp - 0x18], 0
jne 0x5c3868
add ecx, 0xf8000000
or edx, ecx
push edx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
push edx
push 0x4c0900
push 0
call fcn.006053a6
cmp dword [ebp - 0x18], 0
mov edi, eax
jne 0x5c38ac
mov eax, dword [ebp - 0x28]
add esi, 0xfffffffa
mov edx, dword [eax + 0x10]
mov ecx, dword [edx]
lea edx, [ebx + 0xee2]
cmp ecx, esi
sete al
and eax, 1
push eax
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x24
jl 0x5c3963
cmp esi, 0x29
jg 0x5c3963
lea edx, [ebp - 0x594]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605514
mov eax, dword [0x4d3b78]
push 0
push eax
lea edx, [ebx + 0xee2]
push edx
cmp esi, 0x24
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov ecx, 0x20000
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
je 0x5c3918
add ecx, 0xfffe0000
or ecx, 0x40010009
push ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
push edx
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
add esi, 0xffffffdc
mov edx, dword [eax + 0x10]
mov ecx, dword [edx]
lea edx, [ebx + 0xee2]
cmp ecx, esi
sete al
and eax, 1
push eax
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x2a
jl 0x5c3a11
cmp esi, 0x2c
jg 0x5c3a11
lea edx, [ebp - 0x594]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605514
mov eax, dword [0x4d3b78]
push 0
push eax
lea edx, [ebx + 0xee2]
push edx
cmp esi, 0x2a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov ecx, 0x20000
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
je 0x5c39c6
add ecx, 0xfffe0000
or ecx, 0x40010009
push ecx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
push edx
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
add esi, 0xffffffd6
mov edx, dword [eax + 0x10]
mov ecx, dword [edx]
lea edx, [ebx + 0xee2]
cmp ecx, esi
sete al
and eax, 1
push eax
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x2d
jne 0x5c3adc
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea edx, [ebp - 0x594]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605514
push 0
mov eax, dword [0x4d3b78]
push eax
lea edx, [ebx + 0xee2]
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x48], 0x4d409c
jmp 0x5c3ab3
mov edx, dword [ebp - 8]
shl edx, 8
add edx, 0x4d40c8
push edx
push 0
push 0x143
push edi
call fcn.0060557a
inc dword [ebp - 8]
add dword [ebp - 0x48], 4
cmp dword [ebp - 8], 8
jge 0x5c3ac1
mov ecx, dword [ebp - 0x48]
cmp dword [ecx], 0
jne 0x5c3a92
push 0
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
mov ecx, dword [edx]
push ecx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x2e
jne 0x5c3ba3
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 0x48], 0x4d4a74
jmp 0x5c3b78
mov edx, dword [ebp - 0x48]
mov ecx, dword [edx]
push ecx
push 0
push 0x143
push edi
call fcn.0060557a
inc dword [ebp - 8]
add dword [ebp - 0x48], 0x24
cmp dword [ebp - 8], 8
jge 0x5c3b88
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
cmp byte [edx], 0
jne 0x5c3b5e
push 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax]
push edx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x2f
je 0x5c3bb1
cmp esi, 0x30
jne 0x5c3cbd
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea ecx, [ebp - 0x594]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605514
push 0
mov edx, dword [0x4d3b78]
push edx
lea ecx, [ebx + 0xee2]
push ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
xor eax, eax
cmp esi, 0x2f
je 0x5c3c24
inc eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 3
sub edx, ecx
lea edx, [ecx + edx*4]
lea eax, [edx*4 + 0x4d9468]
mov dword [ebp - 0x48], eax
jmp 0x5c3c5a
mov edx, dword [ebp - 0x48]
mov ecx, dword [edx]
push ecx
push 0
push 0x143
push edi
call fcn.0060557a
inc dword [ebp - 8]
add dword [ebp - 0x48], 0x74
cmp dword [ebp - 8], 5
jge 0x5c3c6a
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
cmp byte [edx], 0
jne 0x5c3c40
cmp esi, 0x2f
jne 0x5c3c8a
push 0
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x10]
mov edx, dword [eax]
push edx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0x10]
cmp dword [eax], 0
jne 0x5c3ca1
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x10]
mov dword [ecx], 1
push 0
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
mov ecx, dword [edx]
dec ecx
push ecx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x31
jne 0x5c3dd9
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
push 0x4c092b
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0930
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0936
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c093c
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0942
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0946
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c094a
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c094e
push 0
push 0x143
push edi
call fcn.0060557a
push 0
mov eax, dword [0x4d539c]
push eax
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x32
jne 0x5c3faa
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea edx, [ebp - 0x594]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605514
push 0
mov eax, dword [0x4d3b78]
push eax
lea edx, [ebx + 0xee2]
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
cmp dword [0x4d57d0], 0
je 0x5c3f01
push 0x4c0952
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c095f
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c096a
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0975
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0981
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c098d
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c099a
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09a7
push 0
push 0x143
push edi
call fcn.0060557a
push 0
mov eax, dword [0x4d9e3c]
push eax
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
push 0x4c09b2
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09bf
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09ca
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09d6
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09e2
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09ee
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c09f9
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a04
push 0
push 0x143
push edi
call fcn.0060557a
push 0
mov edx, dword [0x4d9e3c]
push edx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x33
jne 0x5c410e
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x96
lea ecx, [ebp - 0x594]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605514
push 0
mov edx, dword [0x4d3b78]
push edx
lea ecx, [ebx + 0xee2]
push ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40810203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov edi, eax
push 0x4c0a0f
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a17
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a1e
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a26
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a2e
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a36
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a3e
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a46
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a46
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a4e
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a56
push 0
push 0x143
push edi
call fcn.0060557a
push 0x4c0a5e
push 0
push 0x143
push edi
call fcn.0060557a
push 0
mov eax, dword [0x4de5c4]
push eax
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x35
jne 0x5c41cd
add dword [ebp - 0x590], 3
mov edx, dword [ebp - 0x58c]
lea ecx, [ebp - 0x594]
mov dword [ebp - 0x588], edx
mov dword [ebp - 0x58c], 0x9a
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605514
push 0
mov edx, dword [0x4d3b78]
push edx
lea ecx, [ebx + 0xee2]
push ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40211100
push 0x4bf244
push 0x4c0a67
push 0x200
call fcn.006053a6
mov edi, eax
mov dword [0x4ed2e0], eax
push 0x46cc68
push 0xfffffffffffffffc
mov edx, dword [0x4ed2e0]
push edx
call fcn.006055bc
mov dword [0x4ed2d8], eax
push edi
mov ecx, dword [0x4d59ec]
push ecx
push 0x4d57ec
call fcn.005c1d9e
add esp, 0xc
mov dword [0x4d59ec], eax
jmp 0x5c4b74
cmp esi, 0x36
je 0x5c41f4
cmp esi, 0x37
je 0x5c41f4
cmp esi, 0x38
je 0x5c41f4
cmp esi, 0x3d
je 0x5c41f4
cmp esi, 0x3f
je 0x5c41f4
cmp esi, 0x40
je 0x5c41f4
cmp esi, 0x41
jne 0x5c427b
add dword [ebp - 0x590], 4
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
mov ecx, dword [0x4d3b78]
push 0
push ecx
lea eax, [ebx + 0xee2]
push eax
cmp esi, 0x36
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov edx, 0x8000000
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
jne 0x5c4250
cmp dword [0x4d5784], 0
je 0x5c4256
add edx, 0xf8000000
or edx, 0x40010000
push edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
push eax
push 0x4c0900
push 0
call fcn.006053a6
add dword [ebp - 0x10], 0x10
mov edi, eax
jmp 0x5c4b74
cmp esi, 0x42
je 0x5c428e
cmp esi, 0x43
je 0x5c428e
cmp esi, 0x44
jne 0x5c431b
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0xd
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
mov ecx, dword [0x4d3b78]
push 0
push ecx
lea eax, [ebx + 0xee2]
push eax
cmp esi, 0x36
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov edx, 0x8000000
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
jne 0x5c42f4
cmp dword [0x4d5784], 0
je 0x5c42fa
add edx, 0xf8000000
or edx, 0x40010000
push edx
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
push eax
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
jmp 0x5c4b74
cmp esi, 0x3e
jne 0x5c4421
sub dword [ebp - 0x590], 0xf
mov dword [ebp - 0x588], 0x64
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40a10203
push 0x4bf244
push 0x4c0922
push 0
call fcn.006053a6
mov dword [ebp - 8], 0xfffffffb
mov edi, eax
cmp dword [ebp - 8], 0
jne 0x5c43b0
push edi
lea edi, [ebp - 0x360]
mov eax, edi
mov esi, 0x4c0a6f
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
pop edi
jmp 0x5c43e1
cmp dword [ebp - 8], 0xffffffff
je 0x5c43bc
cmp dword [ebp - 8], 1
jne 0x5c43c3
mov edx, 0x4c0a7d
jmp 0x5c43c8
mov edx, 0x4c0a83
push edx
lea ecx, [ebp - 0x360]
mov eax, dword [ebp - 8]
push eax
push 0x4c0a75
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x360]
push eax
push 0
push 0x143
push edi
call fcn.0060557a
inc dword [ebp - 8]
cmp dword [ebp - 8], 5
jle 0x5c4396
push 0
mov edx, dword [0x4bd48c]
mov ecx, dword [edx*4 + 0x4d4070]
add ecx, 5
push ecx
push 0x14e
push edi
call fcn.0060557a
jmp 0x5c4b74
cmp esi, 0x39
je 0x5c4434
cmp esi, 0x3a
je 0x5c4434
cmp esi, 0x3b
jne 0x5c45c0
lea eax, [ebp - 0x63c]
mov edx, dword [0x4d3b78]
push eax
push 0x4c0a8a
push edx
call fcn.00605424
test eax, eax
jne 0x5c44c1
mov dword [ebp - 0x63c], 0x20
mov dword [ebp - 0x638], 0x46cd8c
xor ecx, ecx
mov eax, dword [0x4d3b78]
mov dword [ebp - 0x634], ecx
xor edx, edx
mov dword [ebp - 0x630], 4
mov dword [ebp - 0x62c], eax
mov dword [ebp - 0x628], edx
push 0x7f00
push 0
call fcn.00605502
mov dword [ebp - 0x624], eax
xor ecx, ecx
mov dword [ebp - 0x620], ecx
xor eax, eax
mov dword [ebp - 0x61c], eax
lea edx, [ebp - 0x63c]
mov dword [ebp - 0x618], 0x4c0a8a
push edx
call fcn.00605556
cmp esi, 0x3a
jne 0x5c44cf
mov dword [ebp - 0x14], 4
jmp 0x5c44e4
cmp esi, 0x3b
jne 0x5c44dd
mov dword [ebp - 0x14], 2
jmp 0x5c44e4
mov dword [ebp - 0x14], 5
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x594]
add ecx, ecx
lea ecx, [ecx + ecx*8]
add ecx, 6
mov dword [ebp - 0x588], ecx
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0x2d
call fcn.005f8236
add eax, eax
add eax, 3
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x58c]
sub ecx, dword [ebp - 8]
test ecx, ecx
jns 0x5c4524
add ecx, 3
sar ecx, 2
shl ecx, 2
add ecx, dword [ebp - 8]
mov dword [ebp - 0x58c], ecx
push 0x2e
call fcn.005f8236
add eax, eax
add eax, 3
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x588]
sub eax, dword [ebp - 8]
cdq
idiv dword [ebp - 0x14]
mov ecx, eax
mov eax, dword [0x4d3b78]
imul ecx, dword [ebp - 0x14]
add ecx, dword [ebp - 8]
lea edx, [ebx + 0xee2]
mov dword [ebp - 0x588], ecx
push 0
push eax
push edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
push ecx
mov ecx, dword [ebp - 0x58c]
push ecx
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
push 0x40000000
push 0x4bf244
push 0x4c0a8a
push 0x200
call fcn.006053a6
mov edi, eax
push esi
push 0
push edi
call fcn.006055bc
mov eax, dword [ebp - 0x14]
add eax, eax
lea eax, [eax + eax*8]
add eax, 6
add dword [ebp - 0x10], eax
jmp 0x5c4b74
cmp esi, 0x3c
jne 0x5c4774
mov dword [ebp - 0x588], 0x3a
lea edx, [ebp - 0x594]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605514
lea eax, [ebp - 0x614]
mov edx, dword [0x4bd48c]
push eax
push 0x3c
mov ecx, dword [edx*4 + 0x4d409c]
push ecx
call fcn.006052e4
mov eax, dword [0x4bd48c]
lea ecx, [ebp - 0x360]
mov edx, dword [eax*4 + 0x4d4920]
push edx
push 0x4c0a94
push ecx
call fcn.005fcc36
mov esi, eax
mov eax, dword [0x4bd48c]
add esp, 0xc
lea ecx, [ebp - 0x360]
mov edx, dword [eax*4 + 0x4d48f4]
add ecx, esi
push edx
push 0x4c0aa1
push ecx
call fcn.005fcc36
add esp, 0xc
add esi, eax
cmp dword [ebp - 0x604], 0x190
jne 0x5c466d
push 0x4c0aae
lea eax, [ebp - 0x360]
add eax, esi
push eax
call fcn.005fcc36
add esp, 8
add esi, eax
jmp 0x5c4691
cmp dword [ebp - 0x604], 0x2bc
jne 0x5c4691
push 0x4c0ab7
lea edx, [ebp - 0x360]
add edx, esi
push edx
call fcn.005fcc36
add esp, 8
add esi, eax
cmp byte [ebp - 0x600], 0
je 0x5c46b2
push 0x4c0abe
lea ecx, [ebp - 0x360]
add ecx, esi
push ecx
call fcn.005fcc36
add esp, 8
add esi, eax
cmp byte [ebp - 0x5fd], 0
jne 0x5c46d5
push 0x4c0ac7
lea eax, [ebp - 0x360]
add eax, esi
push eax
call fcn.005fcc36
add esp, 8
add esi, eax
jmp 0x5c46f6
cmp byte [ebp - 0x5fd], 0xff
jne 0x5c46f6
push 0x4c0ace
lea edx, [ebp - 0x360]
add edx, esi
push edx
call fcn.005fcc36
add esp, 8
add esi, eax
cmp byte [ebp - 0x5f8], 0
je 0x5c471c
lea ecx, [ebp - 0x5f8]
lea eax, [ebp - 0x360]
push ecx
add esi, eax
push 0x4c0ad4
push esi
call fcn.005fcc36
add esp, 0xc
mov edx, dword [0x4d3b78]
push 0
push edx
lea ecx, [ebx + 0xee2]
push ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
lea eax, [ebp - 0x360]
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40010000
push eax
push 0x4c091b
push 0x200
call fcn.006053a6
add dword [ebp - 0x10], 0x3f
mov edi, eax
jmp 0x5c4b74
cmp esi, 0x45
jne 0x5c4862
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
test byte [0x4d54d7], 2
jne 0x5c47ec
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x48010003
push 0x4c0ae0
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x5c4837
push 0
mov eax, dword [0x4d3b78]
push eax
lea edx, [ebx + 0xee2]
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
push 0x40010003
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
push eax
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
lea eax, [ebx + 0xee2]
cmp dword [edx], 0
setne cl
and ecx, 1
push ecx
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x46
jne 0x5c4950
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
cmp dword [0x4d375c], 0
jne 0x5c48da
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x48010003
push 0x4c0b0b
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
xor ecx, ecx
mov dword [edx], ecx
jmp 0x5c4925
push 0
mov eax, dword [0x4d3b78]
push eax
lea edx, [ebx + 0xee2]
push edx
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
push eax
mov edx, dword [ebp - 0x588]
push edx
mov ecx, dword [ebp - 0x58c]
push ecx
mov eax, dword [ebp - 0x590]
push eax
mov edx, dword [ebp - 0x594]
push edx
push 0x40010003
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx + 0xc]
push eax
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
lea eax, [ebx + 0xee2]
cmp dword [edx], 0
setne cl
and ecx, 1
push ecx
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x48
jne 0x5c49ed
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea esi, [ebx + 0xee2]
push esi
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40010003
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
push edx
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
cmp dword [0x4d36d8], 2
je 0x5c49c8
push 0
push edi
call fcn.006053ee
jmp 0x5c49e4
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0x10]
cmp dword [edx], 0
setne cl
and ecx, 1
push ecx
push esi
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
call fcn.0060536a
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x49
jne 0x5c4aab
lea ecx, [ebp - 0x594]
push ecx
mov eax, dword [ebp + 8]
push eax
call fcn.00605514
push 0
mov edx, dword [0x4d3b78]
push edx
lea ecx, [ebx + 0xee2]
push ecx
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
push edx
mov ecx, dword [ebp - 0x588]
push ecx
mov eax, dword [ebp - 0x58c]
push eax
mov edx, dword [ebp - 0x590]
push edx
mov ecx, dword [ebp - 0x594]
push ecx
push 0x40010003
mov eax, dword [ebp - 0x28]
mov edx, dword [eax + 0xc]
push edx
push 0x4c0900
push 0
call fcn.006053a6
mov edi, eax
mov eax, dword [0x4bd494]
mov edx, eax
shl eax, 3
sub eax, edx
lea eax, [edx + eax*4]
cmp dword [eax*4 + 0x4d94a4], 0
lea eax, [ebx + 0xee2]
setne cl
and ecx, 1
push ecx
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
call fcn.0060536a
mov eax, dword [0x4bd494]
mov edx, eax
shl eax, 3
sub eax, edx
lea eax, [edx + eax*4]
cmp dword [eax*4 + 0x4d94a4], 0
sete cl
and ecx, 1
mov dword [ebp - 0x18], ecx
add dword [ebp - 0x10], 0xc
jmp 0x5c4b74
cmp esi, 0x4a
jne 0x5c4b11
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40010080
mov edx, dword [ebp - 0x28]
mov ecx, dword [edx + 0x10]
push ecx
push 0x4c0b33
push 0x200
call fcn.006053a6
mov edi, eax
jmp 0x5c4b74
cmp esi, 0x4b
jne 0x5c4b74
lea eax, [ebp - 0x594]
push eax
mov edx, dword [ebp + 8]
push edx
call fcn.00605514
push 0
mov ecx, dword [0x4d3b78]
push ecx
lea eax, [ebx + 0xee2]
push eax
mov edx, dword [ebp - 0x2c]
mov ecx, dword [edx]
push ecx
mov eax, dword [ebp - 0x588]
push eax
mov edx, dword [ebp - 0x58c]
push edx
mov ecx, dword [ebp - 0x590]
push ecx
mov eax, dword [ebp - 0x594]
push eax
push 0x40010000
push 0x4c0b38
push 0x4c0900
push 0
call fcn.006053a6
add dword [ebp - 0x10], 0x12
mov edi, eax
push 0
mov eax, dword [0x4ed2dc]
push eax
push 0x30
push edi
call fcn.0060557a
push 9
push edi
call fcn.006055da
jmp 0x5c4b94
dec esi
jne 0x5c4b94
inc dword [ebp - 4]
inc ebx
add dword [ebp - 0x28], 0x18
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
test eax, eax
jne 0x5c3648
push 0
push 1
push 0xb
mov edx, dword [ebp + 8]
push edx
call fcn.0060557a
push 0x185
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605550
jmp 0x5c5577
mov ax, word [ebp + 0x10]
and ax, 0xffff
cmp ax, 1
je 0x5c4bee
mov dx, word [ebp + 0x10]
and dx, 0xffff
cmp dx, 0xeda
jne 0x5c4f12
cmp dword [0x4eb34c], 1
jne 0x5c4ef1
mov dword [ebp - 0x1c], 1
push 0x4d396c
call fcn.0060504c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x5c4ccb
push 0x4d396c
push 0x4c0b3f
lea ecx, [ebp - 0x360]
push ecx
call fcn.005fcc36
add esp, 0xc
lea eax, [ebp - 0x360]
mov edx, dword [0x4d3b7c]
push 0x14
push 0x4c0b6c
push eax
push edx
call fcn.00605520
mov ebx, eax
cmp ebx, 6
je 0x5c4c7f
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed0cc
mov esi, 0x4d396c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x5c5577
push 0
push 0x4d396c
call fcn.00604fce
test eax, eax
jne 0x5c4da5
push 0x4d396c
push 0x4c0b7d
lea eax, [ebp - 0x360]
push eax
call fcn.005fcc36
add esp, 0xc
lea edx, [ebp - 0x360]
mov ecx, dword [0x4d3b7c]
push 0x10
push 0x4c0bbd
push edx
push ecx
call fcn.00605520
jmp 0x5c5577
test byte [ebp - 0x20], 0x10
jne 0x5c4da5
push 0
push 0
lea eax, [ebp - 0x564]
push eax
lea edx, [ebp - 0x23]
push edx
push 0x4d396c
call fcn.005fb1c6
add esp, 0x14
lea ecx, [ebp - 0x564]
lea eax, [ebp - 0x23]
lea edx, [ebp - 0x464]
push 0
push 0
push ecx
push eax
push edx
call fcn.005fb1a2
add esp, 0x14
lea ecx, [ebp - 0x464]
push ecx
call fcn.005f96de
pop ecx
mov ebx, eax
test ebx, ebx
jle 0x5c4d38
xor eax, eax
mov al, byte [ebp + ebx - 0x465]
cmp eax, 0x5c
jne 0x5c4d38
mov byte [ebp + ebx - 0x465], 0
lea edx, [ebp - 0x464]
push edx
push 0x4d396c
push 0x4c0bd8
lea ecx, [ebp - 0x360]
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x360]
mov edx, dword [0x4d3b7c]
push 0x14
push 0x4c0c25
push eax
push edx
call fcn.00605520
mov ebx, eax
cmp ebx, 6
jne 0x5c5577
xor eax, eax
lea edi, [ebp - 0x464]
or ecx, 0xffffffff
mov esi, 0x4d396c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x4d3a70
call fcn.0060504c
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x5c4e17
push 0x4d3a70
push 0x4c0c35
lea eax, [ebp - 0x360]
push eax
call fcn.005fcc36
add esp, 0xc
lea edx, [ebp - 0x360]
mov ecx, dword [0x4d3b7c]
push 0x10
push 0x4c0b6c
push edx
push ecx
call fcn.00605520
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed1d0
mov esi, 0x4d3a70
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x5c5577
test byte [ebp - 0x20], 0x10
jne 0x5c4ef1
push 0
push 0
lea eax, [ebp - 0x564]
push eax
lea edx, [ebp - 0x23]
push edx
push 0x4d3a70
call fcn.005fb1c6
add esp, 0x14
lea ecx, [ebp - 0x564]
lea eax, [ebp - 0x23]
lea edx, [ebp - 0x464]
push 0
push 0
push ecx
push eax
push edx
call fcn.005fb1a2
add esp, 0x14
lea ecx, [ebp - 0x464]
push ecx
call fcn.005f96de
pop ecx
mov ebx, eax
test ebx, ebx
jle 0x5c4e84
xor eax, eax
mov al, byte [ebp + ebx - 0x465]
cmp eax, 0x5c
jne 0x5c4e84
mov byte [ebp + ebx - 0x465], 0
lea edx, [ebp - 0x464]
push edx
push 0x4d3a70
push 0x4c0c7a
lea ecx, [ebp - 0x360]
push ecx
call fcn.005fcc36
add esp, 0x10
lea eax, [ebp - 0x360]
mov edx, dword [0x4d3b7c]
push 0x14
push 0x4c0c25
push eax
push edx
call fcn.00605520
mov ebx, eax
cmp ebx, 6
jne 0x5c5577
xor eax, eax
lea edi, [ebp - 0x464]
or ecx, 0xffffffff
mov esi, 0x4d3a70
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ax, word [ebp + 0x10]
and ax, 0xffff
cmp ax, 0xeda
sete dl
and edx, 1
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.006053f4
jmp 0x5c5577
mov ax, word [ebp + 0x10]
and ax, 0xffff
cmp ax, 0xedb
je 0x5c4f33
mov dx, word [ebp + 0x10]
and dx, 0xffff
cmp dx, 2
jne 0x5c5577
xor ebx, ebx
jmp 0x5c4f5e
mov edx, dword [0x4eb348]
cmp dword [edx + eax*8 + 0x10], 0
je 0x5c4f5d
mov ecx, dword [0x4eb348]
lea edx, [ebx + ebx*2]
mov eax, dword [ecx + eax*8 + 0x14]
mov ecx, dword [0x4eb348]
mov edx, dword [ecx + edx*8 + 0x10]
mov dword [edx], eax
inc ebx
lea eax, [ebx + ebx*2]
mov ecx, dword [0x4eb348]
cmp dword [ecx + eax*8], 0
jne 0x5c4f37
push 0x120
push 0x4ebd68
push 0x4d4a74
call fcn.005f953a
add esp, 0xc
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 8
add eax, 0x4d4b94
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4ebe88
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, 8
jl 0x5c4f86
push 0x244
push 0x4ec688
push 0x4d9468
call fcn.005f953a
add esp, 0xc
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 8
add eax, 0x4d96ac
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4ec8cc
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, 5
jl 0x5c4fdc
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed0cc
mov esi, 0x4d396c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed1d0
mov esi, 0x4d3a70
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x5c], 0x4d4920
mov dword [ebp - 0x58], 0x4d48f4
mov dword [ebp - 0x54], 0x4ebd38
mov dword [ebp - 0x50], 0x4d3e64
mov dword [ebp - 0x4c], 0x4eb358
mov dword [ebp - 0x48], 0x4d409c
mov esi, 0x4d4070
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 2
push 0x3c
shl edx, 2
lea eax, [eax + eax*2]
lea edx, [edx + edx*2]
lea eax, [eax + eax*4]
add eax, 0x4eb358
push eax
lea edx, [edx + edx*4]
add edx, 0x4d3e64
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x5c510a
mov ecx, ebx
shl ecx, 2
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
add ecx, 0x4eb358
push ecx
call fcn.0060529c
mov edi, eax
test edi, edi
je 0x5c510a
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
push edx
call fcn.006052b4
mov ecx, dword [ebp - 0x48]
mov dword [ecx], edi
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
push esi
mov esi, eax
mov edi, edx
mov ecx, 0xf
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, ebx
mov edx, ebx
shl eax, 8
push esi
add eax, 0x4eb538
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4d40c8
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605448
mov edi, eax
mov eax, dword [ebp - 0x48]
mov edx, dword [eax]
push edx
push edi
call fcn.0060531a
lea ecx, [ebp - 0x5d8]
push ecx
push edi
call fcn.006052f6
mov eax, dword [ebp - 0x54]
mov edx, dword [eax]
mov dword [esi], edx
mov dword [ebp - 0x38], 1
mov ecx, dword [ebp - 0x5c4]
cmp ecx, dword [ebp - 0x38]
jle 0x5c518a
lea eax, [ebp - 0x5c4]
jmp 0x5c518d
lea eax, [ebp - 0x38]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x58]
mov dword [ecx], edx
mov dword [ebp - 0x3c], 1
mov eax, dword [ebp - 0x5d8]
cmp eax, dword [ebp - 0x3c]
jle 0x5c51ae
lea edx, [ebp - 0x5d8]
jmp 0x5c51b1
lea edx, [ebp - 0x3c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5c]
add eax, dword [esi]
mov dword [ecx], eax
mov eax, dword [0x4d40bc]
push eax
push edi
call fcn.0060531a
push edi
mov edx, dword [0x4d3b7c]
push edx
call fcn.00605562
add dword [ebp - 0x5c], 4
add dword [ebp - 0x58], 4
add dword [ebp - 0x54], 4
add dword [ebp - 0x50], 0x3c
add dword [ebp - 0x4c], 0x3c
add dword [ebp - 0x48], 4
inc ebx
add esi, 4
cmp ebx, 8
jl 0x5c5098
mov dword [ebp - 0x1c], 1
mov ecx, dword [0x4d3b88]
push ecx
call fcn.00587a72
pop ecx
push 0
push 1
push 0x474
call fcn.005b047e
mov ax, word [ebp + 0x10]
add esp, 0xc
and ax, 0xffff
cmp ax, 2
jne 0x5c5577
push 0xffffffffffffffff
mov edx, dword [ebp + 8]
push edx
call fcn.006053f4
jmp 0x5c5577
mov ecx, dword [ebp + 0x10]
and ecx, 0xfff0
cmp ecx, 0xf060
jne 0x5c5547
xor ebx, ebx
jmp 0x5c5283
lea eax, [ebx + ebx*2]
mov edx, dword [0x4eb348]
cmp dword [edx + eax*8 + 0x10], 0
je 0x5c5282
lea ecx, [ebx + ebx*2]
mov eax, dword [0x4eb348]
mov edx, dword [eax + ecx*8 + 0x14]
lea ecx, [ebx + ebx*2]
mov eax, dword [0x4eb348]
mov ecx, dword [eax + ecx*8 + 0x10]
mov dword [ecx], edx
inc ebx
lea edx, [ebx + ebx*2]
mov eax, dword [0x4eb348]
cmp dword [eax + edx*8], 0
jne 0x5c5258
push 0x120
push 0x4ebd68
push 0x4d4a74
call fcn.005f953a
add esp, 0xc
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 8
add eax, 0x4d4b94
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4ebe88
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, 8
jl 0x5c52aa
push 0x244
push 0x4ec688
push 0x4d9468
call fcn.005f953a
add esp, 0xc
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 8
add eax, 0x4d96ac
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4ec8cc
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
inc ebx
cmp ebx, 5
jl 0x5c5300
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed0cc
mov esi, 0x4d396c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
or ecx, 0xffffffff
mov edi, 0x4ed1d0
mov esi, 0x4d3a70
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x48], 0x4d4920
mov dword [ebp - 0x4c], 0x4d48f4
mov dword [ebp - 0x50], 0x4d4070
mov dword [ebp - 0x54], 0x4ebd38
mov dword [ebp - 0x58], 0x4eb358
mov dword [ebp - 0x5c], 0x4d409c
mov esi, 0x4d3e64
xor ebx, ebx
mov eax, ebx
mov edx, ebx
shl eax, 2
push 0x3c
shl edx, 2
lea eax, [eax + eax*2]
lea edx, [edx + edx*2]
lea eax, [eax + eax*4]
add eax, 0x4eb358
push eax
lea edx, [edx + edx*4]
add edx, 0x4d3e64
push edx
call fcn.005f97de
add esp, 0xc
test eax, eax
je 0x5c542b
mov ecx, ebx
shl ecx, 2
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
add ecx, 0x4eb358
push ecx
call fcn.0060529c
mov edi, eax
test edi, edi
je 0x5c542b
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
push edx
call fcn.006052b4
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], edi
mov edi, esi
mov eax, dword [ebp - 0x58]
push esi
mov esi, eax
mov ecx, 0xf
rep movsd dword es:[edi], dword [esi]
pop esi
mov eax, ebx
mov edx, ebx
shl eax, 8
push esi
add eax, 0x4eb538
shl edx, 8
mov esi, eax
xor eax, eax
add edx, 0x4d40c8
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
xchg edi, esi
shr ecx, 2
mov eax, edi
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
mov eax, dword [0x4d3b7c]
push eax
call fcn.00605448
mov edi, eax
mov eax, dword [ebp - 0x5c]
mov edx, dword [eax]
push edx
push edi
call fcn.0060531a
lea ecx, [ebp - 0x5d8]
push ecx
push edi
call fcn.006052f6
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov edx, dword [eax]
mov dword [ecx], edx
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x5c4]
cmp eax, dword [ebp - 0x40]
jle 0x5c54ae
lea edx, [ebp - 0x5c4]
jmp 0x5c54b1
lea edx, [ebp - 0x40]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov dword [ebp - 0x44], 1
mov eax, dword [ebp - 0x5d8]
cmp eax, dword [ebp - 0x44]
jle 0x5c54d2
lea edx, [ebp - 0x5d8]
jmp 0x5c54d5
lea edx, [ebp - 0x44]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x50]
add eax, dword [ecx]
mov edx, dword [ebp - 0x48]
mov dword [edx], eax
mov eax, dword [0x4d40bc]
push eax
push edi
call fcn.0060531a
push edi
mov ecx, dword [0x4d3b7c]
push ecx
call fcn.00605562
add dword [ebp - 0x48], 4
add dword [ebp - 0x4c], 4
add dword [ebp - 0x50], 4
add dword [ebp - 0x54], 4
add dword [ebp - 0x58], 0x3c
add dword [ebp - 0x5c], 4
inc ebx
add esi, 0x3c
cmp ebx, 8
jl 0x5c53bc
mov eax, dword [0x4d3b88]
push eax
call fcn.00587a72
pop ecx
push 0
push 1
push 0x474
call fcn.005b047e
add esp, 0xc
push 0xffffffffffffffff
mov edx, dword [ebp + 8]
push edx
call fcn.006053f4
xor eax, eax
jmp 0x5c55c1
lea edx, [ebp - 0x574]
push edx
mov ecx, dword [ebp + 8]
push ecx
call fcn.00605436
mov eax, dword [0x4d494c]
lea edx, [ebp - 0x574]
push eax
push edx
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.00605412
jmp 0x5c5577
xor eax, eax
jmp 0x5c55c1
cmp dword [ebp - 0x1c], 0
je 0x5c55bc
push 0xed9
mov edx, dword [ebp + 8]
push edx
call fcn.00605460
mov dword [ebp - 0x5a0], eax
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x59c], 0xed9
mov dword [ebp - 0x598], 0xfffffdd9
push ecx
push 0xed9
push 0x4e
mov eax, dword [ebp + 8]
push eax
call fcn.005c31ce
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10