Function at 0x4cfa00
Capabilities:
Parse credit card information

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [0x5328d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xc4], eax
test edi, edi
je 0x4d0e8c
test ebx, ebx
je 0x4d0e8c
test eax, eax
je 0x4cfa56
cmp dword [eax + 8], 0x4c
jb 0x4d0e8c
push 0xa0
push 0
push ebx
call fcn.0050fee0
add esp, 0xc
lea edx, [ebp - 0xa0]
mov ecx, edi
call fcn.004d73f1
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e7a
cmp byte [ebp - 0xa4], 0
jne 0x4d0e88
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], esi
mov eax, dword [edi + 0xe4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0x30
jle 0x4d008f
cmp eax, 0x4c
jg 0x4cfd6c
je 0x4cfd7c
cmp eax, 0x33
je 0x4cfc7f
cmp eax, 0x3f
jle 0x4d0e5e
cmp eax, 0x41
jle 0x4cfb04
cmp eax, 0x44
jle 0x4d0e5e
cmp eax, 0x46
jg 0x4d0e5e
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x66
je 0x4cfc3d
cmp dword [ebp - 0xa8], 0x4b
je 0x4cfb4e
cmp dword [ebp - 0xa8], 0x47
jne 0x4cfb04
jmp 0x4cfc68
mov dword [ebx], 0xa
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x4b
je 0x4cfb54
cmp dword [ebp - 0xa8], 0x4c
jne 0x4cfbac
and dword [ebx + 0x2c], 0
and dword [ebx + 0x34], 0
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
jmp 0x4cfc68
cmp dword [ebp - 0xa8], 0x4d
jne case.0x4cfe96.92
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x4e
jne case.0x4cfe96.92
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x4c
je 0x4cfb94
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.004dbd3a
mov edx, eax
jmp 0x4d0e5e
push ebx
lea edx, [ebp - 0xb8]
mov dword [ebx], 9
mov ecx, edi
call fcn.004cf500
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebx], 9
je 0x4d0e5e
cmp dword [ebx], 0xa
jne 0x4cfa56
jmp 0x4d0e5e
xor eax, eax
mov dword [ebp - 0xc0], eax
cmp byte [edi + 0xe0], al
je 0x4cfcad
and dword [ebx], eax
mov dword [ebx + 0x40], 0x14
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], ecx
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e55
mov dword [ebx + 0x5c], esi
mov esi, eax
mov dword [ebx], 2
mov dword [ebx + 0x58], ecx
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e88
cmp byte [ebp - 0xa4], 0
mov eax, dword [ebp - 0xa8]
jne 0x4cfd47
cmp eax, 4
je 0x4cfd47
cmp eax, 0x34
je 0x4d0e5e
cmp eax, 1
je 0x4cfd47
sub eax, 0x37
je 0x4cfd39
sub eax, 1
je 0x4cfd34
sub eax, 1
je 0x4cfd2f
dec eax
sub eax, 1
jne 0x4cfcbb
test esi, esi
je 0x4cfcbb
mov edi, dword [ebp - 0xc0]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
xor esi, esi
mov dword [ebp - 0xc0], esi
jmp 0x4cfcbb
lea esi, [ebx + 0x38]
jmp 0x4cfd3c
lea esi, [ebx + 0x48]
jmp 0x4cfd3c
lea esi, [ebx + 0x28]
mov dword [ebp - 0xc0], esi
jmp 0x4cfcbb
cmp eax, 0x34
je 0x4d0e5e
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
mov dword [ebx + 0x40], 0x13
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e4c
cmp eax, 0x4f
je 0x4cfd7c
cmp eax, 0x65
jne 0x4d0e5e
jmp 0x4cfdb2
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
mov eax, dword [ebp - 0xa8]
cmp eax, 0x4f
je 0x4cfd7c
cmp eax, 0x65
jne 0x4cfdbd
mov dword [ebx], 0xc
jmp 0x4d0e5e
and dword [ebx + 0x34], 0
and dword [ebx + 0x2c], 0
cmp eax, 0x51
jne 0x4cfe3c
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x52
jne case.0x4cfe96.92
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
mov eax, dword [ebp - 0xa8]
cmp eax, 0x50
jne case.0x4cfe96.92
lea edi, [ebx + 0x38]
mov dword [ebx], 0xb
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
mov eax, dword [ebp - 0xa8]
add eax, 0xffffffad
cmp eax, 0xb
ja case.0x4cfe96.92
jmp dword [eax*4 + 0x4d0eac]
and dword [ebx + 0x48], 0
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x5c], 3
sub eax, 0x5f
je 0x4d0086
sub eax, 1
je 0x4d007a
sub eax, 1
je 0x4cfff5
sub eax, 1
je 0x4d0022
jmp case.0x4cfe96.92
mov dword [ebx + 0x48], 1
jmp 0x4cfea1
mov dword [ebx + 0x48], 2
jmp 0x4cfea1
mov dword [ebx + 0x48], 3
jmp 0x4cfea1
mov dword [ebx + 0x48], 4
jmp 0x4cfea1
mov dword [ebx + 0x48], 5
jmp 0x4cfea1
mov dword [ebx + 0x48], 6
jmp 0x4cfea1
mov dword [ebx + 0x48], 7
jmp 0x4cfea1
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x5c
jne case.0x4cfe96.94
mov dword [ebx + 0x48], 9
lea edi, [ebx + 0x4c]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xbc]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
je 0x4cfea1
jmp 0x4d0e5e
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x5c
jne case.0x4cfe96.92
mov dword [ebx + 0x48], 8
jmp 0x4cff7b
push 1
lea edx, [ebp - 0xb8]
mov dword [ebx + 0x5c], 2
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
cmp dword [ebp - 0xa8], 0x63
jne case.0x4cfe96.92
mov ecx, dword [ebp - 0xbc]
lea edi, [ebx + 0x60]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004d6314
jmp 0x4cfc36
mov dword [ebx + 0x5c], 1
jmp 0x4d0e5e
and dword [ebx + 0x5c], 0
jmp 0x4d0e5e
je 0x4d0de1
dec eax
sub eax, 1
je 0x4d0d6d
dec eax
sub eax, 1
je 0x4d0d4a
sub eax, 1
je 0x4d04d4
sub eax, 0x1d
je 0x4d01ee
sub eax, 6
je 0x4d0129
sub eax, 5
jne 0x4d0e5e
lea eax, [ebp - 0xdc]
mov ecx, edi
push eax
lea eax, [ebp - 0x38]
push eax
push 0x4334e0
push 2
pop edx
call fcn.004cf290
mov ecx, dword [ebp - 0xdc]
mov edx, eax
test edx, edx
js 0x4d0109
cmp ecx, 2
jne 0x4d0109
mov dword [ebx], 0xd
lea esi, [ebp - 0x38]
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e4c
and dword [ebx], 0
lea esi, [ebp - 0x38]
imul eax, ecx, 0x18
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x4334e4]
jmp 0x4d0e49
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d01e5
cmp byte [ebp - 0xa4], 0
jne 0x4d01e5
cmp dword [ebp - 0xa8], 0x2a
jne 0x4d01e5
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx], 5
mov dword [ebx + 0x4c], eax
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xbc]
lea edx, [ebp - 0xb8]
push 1
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d01dc
cmp byte [ebp - 0xa4], 0
jne 0x4d01dc
cmp dword [ebp - 0xa8], 0x2b
jne 0x4d01b1
lea edi, [ebx + 0x38]
jmp 0x4d0177
cmp dword [ebp - 0xa8], 0x29
je 0x4d0e5e
cmp dword [ebp - 0xa8], 4
jne 0x4d0181
mov dword [ebx + 0x40], 0x11
and dword [ebx], 0
lea esi, [ebp - 0xb8]
jmp 0x4d00fd
mov dword [ebx + 0x40], 0x10
jmp 0x4d01ce
mov dword [ebx + 0x40], 0x12
jmp 0x4d01ce
and dword [ebp - 0xc4], 0
lea eax, [ebp - 0xc4]
dec dword [edi + 0xe4]
lea ecx, [edi + 0xe8]
mov edx, dword [edi + 0xe4]
push 0
push eax
call fcn.004d160a
test eax, eax
js 0x4d0e98
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d04b8
cmp byte [ebp - 0xa4], 0
jne 0x4d04b8
cmp dword [ebp - 0xa8], 0x23
je 0x4d0259
cmp dword [ebp - 0xa8], 0x26
jne 0x4d04b8
cmp dword [ebp - 0xa8], 0x26
jne 0x4d02f0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x48]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xbc]
mov ecx, esi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d02d4
cmp byte [ebp - 0xa4], 0
jne 0x4d02d4
cmp dword [ebp - 0xa8], 0x27
jne 0x4d02d4
push 1
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d02d4
cmp byte [ebp - 0xa4], 0
jne 0x4d02d4
cmp dword [ebp - 0xa8], 0x23
je 0x4d02f0
and dword [ebx], 0
lea esi, [ebp - 0xb8]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], 7
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e4c
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
push 0x10
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc4]
lea edi, [ebx + 0x60]
add esi, 0x28
rep movsd dword es:[edi], dword [esi]
dec dword [ebx + 4]
mov edi, dword [ebp - 0xbc]
mov dword [ebx + 0x58], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x5c], eax
mov dword [ebx], 4
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d0488
cmp byte [ebp - 0xa4], 0
jne 0x4d0488
cmp dword [ebp - 0xa8], 4
je 0x4d0488
cmp dword [ebp - 0xa8], 0x25
jne 0x4d032f
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x4d040a
mov eax, dword [ebp - 0xc4]
lea edi, [ebp - 0x104]
and dword [ebp - 0xd4], 0
xor edx, edx
mov ecx, dword [eax + 4]
xor eax, eax
stosd dword es:[edi], eax
inc ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0xd4]
push eax
push ecx
push ebx
mov ecx, esi
call fcn.004cf40c
mov edx, eax
cmp edx, 0xc000a083
jne 0x4d03e1
mov eax, dword [ebp - 0xd4]
lea esi, [ebp - 0x104]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xa0]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ecx + 4], eax
jmp 0x4d0dbf
test edx, edx
js 0x4d0e5e
mov eax, dword [ebp - 0xc4]
mov ecx, esi
mov edx, dword [eax + 4]
inc edx
call fcn.004d1a0b
mov edx, eax
test edx, edx
js 0x4d0e5e
mov edi, dword [ebp - 0xbc]
mov esi, dword [edi + 0xc0]
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebx + 0x38]
push ecx
lea eax, [ebx + 0x60]
mov ecx, esi
push eax
push edi
call dword [0x5352c4]
call esi
mov edx, eax
mov eax, dword [ebp - 0xcc]
test eax, eax
jne 0x4d0469
test edx, edx
js 0x4d0e5e
mov esi, dword [edi + 0xc0]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebx + 0x48]
mov ecx, esi
push eax
lea eax, [ebx + 0x80]
push eax
push edi
call dword [0x5352c4]
call esi
mov edx, eax
mov eax, dword [ebp - 0xcc]
test edx, edx
js 0x4d0e5e
test eax, eax
je 0x4d0e5e
lea esi, [ebx + 0x10]
mov dword [ebx + 0x40], 0x1c
jmp 0x4d03c8
mov eax, dword [ebp - 0xa0]
lea edi, [ebx + 0x28]
and dword [ebx], 0
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x38]
mov dword [ecx], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x40], 6
movsd dword es:[edi], dword [esi]
mov dword [ecx + 4], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e5e
and dword [ebx], 0
lea edi, [ebx + 0x28]
lea esi, [ebp - 0xb8]
mov dword [ebx + 0x40], 8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e4c
mov al, byte [edi + 0xe0]
test al, al
je 0x4d0508
cmp dword [edi + 0xe4], 0
jne 0x4d0508
lea esi, [ebp - 0xb8]
mov dword [ebx + 0x40], 0x1d
mov dword [ebx + 0x38], ecx
and dword [ebx], 0
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e55
and dword [ebp - 0xc8], 0
and dword [ebp - 0xdc], 0
test al, al
jne 0x4d0521
mov byte [edi + 0xe0], 1
push 1
lea edx, [ebp - 0xb8]
mov ecx, edi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d05e8
cmp byte [ebp - 0xa4], 0
jne 0x4d05e8
mov eax, dword [ebp - 0xa8]
cmp eax, 6
je 0x4d055b
cmp eax, 0x16
jne 0x4d05e8
cmp dword [ebp - 0xa8], 0x16
mov eax, dword [ebp - 0xa0]
mov dword [ebx], 3
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], esi
jne 0x4d0600
lea edi, [ebx + 0x38]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
lea edx, [ebp - 0xb8]
push 1
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x48]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xbc]
mov ecx, esi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d05f4
cmp byte [ebp - 0xa4], 0
jne 0x4d05f4
cmp dword [ebp - 0xa8], 0x17
jne 0x4d05f4
push 1
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d05e8
cmp byte [ebp - 0xa4], 0
jne 0x4d05e8
cmp dword [ebp - 0xa8], 6
je 0x4d0600
mov dword [ebx + 0x40], 4
jmp 0x4d01ce
mov dword [ebx + 0x40], 5
jmp 0x4d01ce
mov eax, dword [ebp - 0x9c]
lea edi, [ebx + 0x28]
and dword [ebx + 0x60], 0
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xe0], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xa0]
mov dword [ebp - 0xf4], edi
mov esi, dword [ebp - 0xbc]
test edx, edx
js 0x4d066a
push 0
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.004d6314
mov edx, eax
test edx, edx
js 0x4d066a
lea edx, [ebp - 0xa0]
mov ecx, esi
call fcn.004d73f1
lea edx, [ebp - 0xb8]
mov ecx, esi
call fcn.004d742e
mov edi, dword [ebp - 0xa0]
mov edx, eax
mov eax, dword [ebp - 0xa8]
cmp eax, 0x1a
je 0x4d0c45
cmp eax, 0x1b
je 0x4d0c45
cmp eax, 4
je 0x4d0c45
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
test edx, edx
js 0x4d0e5e
sub eax, 7
je 0x4d0994
sub eax, 1
je 0x4d08c6
sub eax, 7
je 0x4d082b
sub eax, 9
je 0x4d077b
sub eax, 4
jne 0x4d0629
lea eax, [ebp - 0xe4]
mov ecx, esi
push eax
lea eax, [ebp - 0x68]
push eax
push 0x433500
push 4
pop edx
call fcn.004cf290
mov edx, eax
test edx, edx
js 0x4d0adb
mov ecx, dword [ebp - 0xe4]
cmp ecx, 4
jne 0x4d0aaf
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d0823
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.004d160a
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x4d0e98
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call fcn.0050fee0
mov edi, ebx
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0xb8]
mov edx, dword [ebp - 0xc0]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xa0]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0xd4]
jmp 0x4d0823
lea eax, [ebp - 0xe8]
mov ecx, esi
push eax
lea eax, [ebp - 0x98]
push eax
push 0x433490
push 6
pop edx
call fcn.004cf290
mov edx, eax
test edx, edx
js 0x4d0b22
mov ecx, dword [ebp - 0xe8]
cmp ecx, 6
jne 0x4d0af3
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d0823
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.004d160a
mov edx, eax
test edx, edx
js 0x4d0e88
mov eax, dword [ebp - 0xc8]
lea esi, [ebp - 0x80]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x10]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x30]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x20]
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [eax + 0x48], 0
mov edi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], ecx
inc dword [ebx + 0x60]
jmp 0x4d0629
lea eax, [ebp - 0xec]
mov ecx, esi
push eax
lea eax, [ebp - 0x98]
push eax
push 0x433420
push 6
pop edx
call fcn.004cf290
mov edx, eax
test edx, edx
js 0x4d0b6c
mov ecx, dword [ebp - 0xec]
cmp ecx, 6
jne 0x4d0b40
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d0823
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.004d160a
mov edx, eax
test edx, edx
js 0x4d0e88
mov eax, dword [ebp - 0xc8]
lea esi, [ebp - 0x80]
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x10]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x30]
lea esi, [ebp - 0xb8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x20]
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [eax + 0x48], pe_nt_image_headers32
jmp 0x4d0811
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
lea eax, [ebp - 0x68]
push eax
push 0x4333d0
push 4
pop edx
call fcn.004cf290
mov edx, eax
mov dword [ebp - 0xc0], edx
test edx, edx
js 0x4d0bc2
mov ecx, dword [ebp - 0xd8]
cmp ecx, 4
jne 0x4d0b93
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x4d0934
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x38]
push ecx
inc edx
mov ecx, eax
call fcn.004d1897
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp edx, 0xc00000bd
je 0x4d0b81
test edx, edx
js 0x4d0e88
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d0aa1
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.004d160a
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x4d0e98
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call fcn.0050fee0
mov word [ebx + 0x48], 1
lea esi, [ebp - 0xb8]
mov edi, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0a7e
mov ecx, dword [ebp - 0xbc]
lea esi, [ebp - 0xb8]
lea edi, [ebp - 0x104]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0x98]
push eax
movsd dword es:[edi], dword [esi]
push 0x433580
push 6
pop edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004cf290
mov edx, eax
mov dword [ebp - 0xc0], edx
test edx, edx
js 0x4d0c40
mov ecx, dword [ebp - 0xf0]
cmp ecx, 6
jne 0x4d0c0b
mov eax, dword [ebp - 0xcc]
test eax, eax
je 0x4d0a1d
mov edx, dword [ebx + 4]
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0x38]
inc edx
push ecx
mov ecx, eax
call fcn.004d172e
mov edx, eax
mov dword [ebp - 0xc0], edx
cmp edx, 0xc00000bd
je 0x4d0bf0
test edx, edx
js 0x4d0e88
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x4d0a9b
mov edx, dword [ebx + 0x60]
lea ecx, [ebp - 0xc8]
push 1
push ecx
mov ecx, eax
call fcn.004d160a
mov dword [ebp - 0xc0], eax
test eax, eax
js 0x4d0e98
mov ebx, dword [ebp - 0xc8]
push 0x4c
push 0
push ebx
call fcn.0050fee0
mov edi, ebx
lea esi, [ebp - 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x30]
lea esi, [ebp - 0x104]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [ebx + 0x20]
lea esi, [ebp - 0x38]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [ebx + 0x48], 1
mov edi, dword [ebp - 0xa0]
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], eax
mov ebx, dword [ebp - 0xd4]
jmp 0x4d0aa1
mov edi, dword [ebp - 0xa0]
inc dword [ebx + 0x60]
mov edx, dword [ebp - 0xc0]
jmp 0x4d0629
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x68]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x433504]
jmp 0x4d0bba
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xe4], 0x18
jmp 0x4d0bd5
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x98]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x433494]
jmp 0x4d0bba
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xe8], 0x18
lea esi, [ebp - 0x98]
jmp 0x4d0bd8
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x98]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x433424]
jmp 0x4d0bba
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xec], 0x18
jmp 0x4d0b35
mov dword [ebx + 0x38], edi
lea esi, [ebp - 0x38]
mov dword [ebx + 0x40], 0x1f
jmp 0x4d04f7
mov eax, dword [ebp - 0x9c]
lea esi, [ebp - 0x68]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x4333d4]
mov dword [ebx + 0x40], eax
jmp 0x4d0e5e
mov eax, dword [ebp - 0x9c]
and dword [ebx], 0
mov dword [ebx + 0x3c], eax
imul eax, dword [ebp - 0xd8], 0x18
lea esi, [ebp - 0x68]
add esi, eax
mov dword [ebx + 0x38], edi
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x40], 0xb
jmp 0x4d0e5e
and dword [ebx], 0
lea esi, [ebp - 0x80]
lea edi, [ebx + 0x28]
mov dword [ebx + 0x40], 0x1e
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e4c
mov eax, dword [ebp - 0xa0]
lea esi, [ebp - 0x98]
and dword [ebx], 0
lea edi, [ebx + 0x28]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x3c], eax
imul eax, ecx, 0x18
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x433584]
jmp 0x4d0bba
and dword [ebx], 0
jmp 0x4d0be4
cmp byte [ebp - 0xa4], 0
jne 0x4d0e5e
test edx, edx
js 0x4d0e5e
mov ecx, dword [ebp - 0xcc]
lea edi, [ebp - 0x104]
xor eax, eax
xor esi, esi
stosd dword es:[edi], eax
mov dword [ebp - 0xd8], esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ecx, ecx
je 0x4d0ca5
mov eax, dword [ebx + 4]
lea edx, [ebp - 0x104]
push edx
lea edx, [ebp - 0xd8]
inc eax
push edx
mov edx, dword [ebp - 0xc4]
push eax
push ebx
call fcn.004cf40c
mov esi, dword [ebp - 0xd8]
mov edx, eax
mov ecx, dword [ebp - 0xcc]
cmp edx, 0xc000a083
jne 0x4d0cd6
mov eax, dword [ebp - 0xf4]
lea edi, [ebx + 0x28]
and dword [ebx], 0
xor edx, edx
mov dword [ebx + 0x40], esi
lea esi, [ebp - 0x104]
movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0xe0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e5b
test edx, edx
js 0x4d0e88
cmp dword [ebp - 0xa8], 0x1b
jne 0x4d0d0b
mov byte [ebx + 0x64], 1
test ecx, ecx
je 0x4d0e5e
mov edx, dword [ebx + 4]
inc edx
call fcn.004d1a0b
mov edx, eax
test edx, edx
jns 0x4d0e5e
jmp 0x4d0e88
mov edi, dword [ebp - 0xbc]
lea eax, [ebp - 0xdc]
mov edx, dword [ebx + 4]
push 1
push eax
lea ecx, [edi + 0xe8]
call fcn.004d160a
mov edx, eax
test edx, edx
js 0x4d0e88
inc dword [edi + 0xe4]
mov esi, ebx
mov edi, dword [ebp - 0xdc]
push 0x28
pop ecx
rep movsd dword es:[edi], dword [esi]
jmp 0x4d0e5e
cmp dword [edi + 0xe4], 0
jne 0x4d0d5e
mov dword [ebx], 1
jmp 0x4d0e5e
and dword [ebx], 0
mov dword [ebx + 0x40], 9
jmp 0x4cfc98
cmp byte [edi + 0xe0], 0
je 0x4d0dd6
cmp dword [edi + 0xe4], 0
jne 0x4d0dd6
lea eax, [ebp - 0xcd]
mov ecx, edi
push eax
lea edx, [ebp - 0xb8]
call fcn.004d77c0
mov edx, eax
test edx, edx
js 0x4d0e5e
cmp byte [ebp - 0xcd], 0
jne 0x4d0dd0
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x38], eax
mov dword [ebx + 0x3c], esi
lea esi, [ebp - 0xb8]
mov dword [ebx + 0x40], 0x1d
and dword [ebx], 0
lea edi, [ebx + 0x28]
movsd dword es:[edi], dword [esi]
xor edx, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x4d0e5e
mov ecx, dword [ebp - 0xa0]
mov dword [ebx], 7
jmp 0x4cfc98
cmp byte [edi + 0xe0], 0
je 0x4d0df8
cmp dword [edi + 0xe4], 0
jne 0x4d0df8
mov dword [ebx + 0x38], ecx
jmp 0x4d0daf
lea eax, [ebp - 0xe0]
mov ecx, edi
push eax
lea eax, [ebp - 0x38]
push eax
push 0x433470
push 2
pop edx
call fcn.004cf290
mov ecx, dword [ebp - 0xe0]
mov edx, eax
test edx, edx
js 0x4d0e2e
cmp ecx, 2
jne 0x4d0e2e
mov dword [ebx], 8
jmp 0x4d00fa
and dword [ebx], 0
lea esi, [ebp - 0x38]
imul eax, ecx, 0x18
lea edi, [ebx + 0x28]
add esi, eax
imul eax, ecx, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x433474]
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0xa0]
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 0x9c]
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 0x14]
sub eax, dword [ebx + 0x10]
cmp byte [ebp - 0xa4], 0
mov dword [ebx + 0x14], eax
je 0x4d0e88
test edx, edx
js 0x4d0e88
push ecx
push ecx
mov ecx, 0xc000a083
call fcn.004dbd3a
mov edx, eax
mov eax, edx
jmp 0x4d0e98
push ecx
push ecx
mov ecx, 0xc000000d
call fcn.004dbd3a
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050e82a
leave
ret 8