Function at 0x4f4e40
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
push edi
mov esi, dword [ebp + 0xc]
lea edi, [ebp - 0x1c]
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 [ebp - 8], ecx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, ebx
sub al, 7
je 0x4f4e6b
add al, 0xfd
sub al, 4
jae 0x4f4f3b
mov esi, 0x42
cmp bl, 0xa
jne 0x4f4e96
add esi, 0xcf
push esi
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc9
mov edx, 0xcf
mov eax, 0x97
call fcn.004085c4
jmp 0x4f4f15
cmp bl, 0xb
jne 0x4f4ec0
mov eax, esi
add eax, eax
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + 0xcf]
mov ecx, 0x97
mov eax, 0x65
call fcn.004085c4
jmp 0x4f4f15
cmp bl, 0xc
jne 0x4f4eea
mov eax, esi
add eax, eax
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + 0xcf]
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
jmp 0x4f4f15
cmp bl, 0xd
jne 0x4f4f15
lea eax, [esi + esi*2]
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
add edx, 0xcf
mov ecx, 0x97
mov eax, 0x65
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
test al, al
je 0x4f4f4b
add al, 0xfe
sub al, 5
jae 0x4f5027
mov esi, 0x16
cmp bl, 2
jne 0x4f4f74
mov eax, esi
add eax, eax
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc7
mov edx, esi
mov eax, 0x63
call fcn.004085c4
jmp 0x4f5001
cmp bl, 3
jne 0x4f4f96
lea eax, [esi + esi*2]
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
mov ecx, 0xc7
mov eax, 0x63
call fcn.004085c4
jmp 0x4f5001
cmp bl, 4
jne 0x4f4fba
mov eax, esi
add eax, eax
add eax, eax
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + esi*2]
mov ecx, 0xc7
mov eax, 0x63
call fcn.004085c4
jmp 0x4f5001
cmp bl, 5
jne 0x4f4fde
lea eax, [esi + esi*4]
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
add edx, edx
mov ecx, 0xc7
mov eax, 0x63
call fcn.004085c4
jmp 0x4f5001
cmp bl, 6
jne 0x4f5001
mov eax, esi
add eax, eax
lea eax, [eax + eax*2]
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + esi*4]
mov ecx, 0xc7
mov eax, 0x63
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
cmp bl, 0xe
jne 0x4f507f
push 0x82
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xca
mov edx, 0x6f
mov eax, 0xc8
call fcn.004085c4
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x3c]
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 [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x34], eax
inc dword [ebp - 0x38]
dec dword [ebp - 0x30]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
jmp 0x4f60a9
cmp bl, 0x18
jne 0x4f51b1
push 0xce
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x97
mov edx, 0xcc
mov eax, 0x65
call fcn.004085c4
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x3c]
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 [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
mov esi, 0x42
lea eax, [esi + esi*2]
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
add edx, 0xcf
add edx, dword [ebp - 0x18]
add edx, 2
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
mov eax, dword [ebp - 0x18]
add eax, 2
mov edx, esi
sub edx, eax
push edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x32
xor edx, edx
xor eax, eax
call fcn.004085c4
mov dl, 1
mov eax, dword [0x4f38b8]
call fcn.004f4120
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4f51aa
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
add eax, 2
mov ecx, esi
sub ecx, eax
mov edx, 0x32
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x6c]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.0043d7b8
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
dec dword [ebp - 0x2c]
inc dword [ebp - 0x24]
movzx eax, byte [ebp + 8]
push eax
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
call fcn.004f40f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f60a9
mov eax, dword [ebp - 0xc]
call fcn.00403dcc
ret
cmp bl, 9
jne 0x4f5207
mov esi, 0x42
lea eax, [esi + esi*2]
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
add edx, 0xcf
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
cmp bl, 0x1c
jne 0x4f525a
mov esi, 0x42
mov eax, esi
add eax, eax
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + 0xcf]
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
cmp bl, 0x1d
jne 0x4f52b0
mov esi, 0x42
lea eax, [esi + esi*2]
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, esi
add edx, edx
add edx, 0xcf
mov ecx, 0x97
mov eax, 0x65
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xe6
sub al, 2
jae 0x4f5445
push 0xce
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x97
mov edx, 0xcc
mov eax, 0x65
call fcn.004085c4
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x3c]
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 [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
mov esi, 0x42
cmp bl, 0x1a
jne 0x4f5336
lea eax, [esi + 0xcf]
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x18]
add edx, 0xcf
add edx, 2
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
jmp 0x4f5391
cmp bl, 0x1c
jne 0x4f5368
mov eax, esi
add eax, eax
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
mov edx, dword [ebp - 0x18]
add edx, 0xcf
add edx, 2
add edx, esi
mov ecx, 0xc9
mov eax, 0x97
call fcn.004085c4
jmp 0x4f5391
mov eax, esi
add eax, eax
add eax, 0xcf
push eax
lea eax, [ebp - 0x2c]
push eax
lea edx, [esi + 0xcf]
add edx, dword [ebp - 0x18]
add edx, 2
mov ecx, 0x97
mov eax, 0x65
call fcn.004085c4
mov eax, dword [ebp - 0x18]
add eax, 2
mov edx, esi
sub edx, eax
push edx
lea eax, [ebp - 0x3c]
push eax
mov ecx, 0x32
xor edx, edx
xor eax, eax
call fcn.004085c4
mov dl, 1
mov eax, dword [0x4f38b8]
call fcn.004f4120
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x4f543e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
add eax, 2
mov ecx, esi
sub ecx, eax
mov edx, 0x32
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax]
call dword [ebx + 0x6c]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 0xc]
call fcn.0043d7b8
mov ecx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add dword [ebp - 0x28], 2
dec dword [ebp - 0x2c]
inc dword [ebp - 0x24]
movzx eax, byte [ebp + 8]
push eax
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
call fcn.004f40f4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f60a9
mov eax, dword [ebp - 0xc]
call fcn.00403dcc
ret
mov eax, ebx
sub al, 0x28
je 0x4f545b
sub al, 6
je 0x4f545b
sub al, 0xa
je 0x4f545b
sub al, 6
jne 0x4f54ef
cmp bl, 0x28
jne 0x4f5476
push 0x16
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
xor edx, edx
xor eax, eax
call fcn.004085c4
jmp 0x4f54c9
cmp bl, 0x2e
jne 0x4f5494
push 0x16
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
xor edx, edx
mov eax, 0x16
call fcn.004085c4
jmp 0x4f54c9
cmp bl, 0x38
jne 0x4f54b2
push 0x16
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
xor edx, edx
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f54c9
push 0x16
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
xor edx, edx
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x29
je 0x4f5505
sub al, 6
je 0x4f5505
sub al, 0xa
je 0x4f5505
sub al, 6
jne 0x4f55a5
cmp bl, 0x29
jne 0x4f5523
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
mov edx, 0x16
xor eax, eax
call fcn.004085c4
jmp 0x4f557f
cmp bl, 0x2f
jne 0x4f5544
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
mov edx, 0x16
mov eax, 0x16
call fcn.004085c4
jmp 0x4f557f
cmp bl, 0x39
jne 0x4f5565
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
mov edx, 0x16
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f557f
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
mov edx, 0x16
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x2a
je 0x4f55bb
sub al, 6
je 0x4f55bb
sub al, 0xa
je 0x4f55bb
sub al, 6
jne 0x4f565b
cmp bl, 0x2a
jne 0x4f55d9
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
mov edx, 0x2c
xor eax, eax
call fcn.004085c4
jmp 0x4f5635
cmp bl, 0x30
jne 0x4f55fa
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
mov edx, 0x2c
mov eax, 0x16
call fcn.004085c4
jmp 0x4f5635
cmp bl, 0x3a
jne 0x4f561b
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
mov edx, 0x2c
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f5635
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
mov edx, 0x2c
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x2b
je 0x4f5671
sub al, 6
je 0x4f5671
sub al, 0xa
je 0x4f5671
sub al, 6
jne 0x4f5711
cmp bl, 0x2b
jne 0x4f568f
push 0x58
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
mov edx, 0x42
xor eax, eax
call fcn.004085c4
jmp 0x4f56eb
cmp bl, 0x31
jne 0x4f56b0
push 0x58
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
mov edx, 0x42
mov eax, 0x16
call fcn.004085c4
jmp 0x4f56eb
cmp bl, 0x3b
jne 0x4f56d1
push 0x58
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
mov edx, 0x42
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f56eb
push 0x58
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
mov edx, 0x42
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x2c
je 0x4f5727
sub al, 6
je 0x4f5727
sub al, 0xa
je 0x4f5727
sub al, 6
jne 0x4f57c7
cmp bl, 0x2c
jne 0x4f5745
push 0x6e
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
mov edx, 0x58
xor eax, eax
call fcn.004085c4
jmp 0x4f57a1
cmp bl, 0x32
jne 0x4f5766
push 0x6e
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
mov edx, 0x58
mov eax, 0x16
call fcn.004085c4
jmp 0x4f57a1
cmp bl, 0x3c
jne 0x4f5787
push 0x6e
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
mov edx, 0x58
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f57a1
push 0x6e
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
mov edx, 0x58
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x2d
je 0x4f57dd
sub al, 6
je 0x4f57dd
sub al, 0xa
je 0x4f57dd
sub al, 6
jne 0x4f5889
cmp bl, 0x2d
jne 0x4f57fe
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x16
mov edx, 0x6e
xor eax, eax
call fcn.004085c4
jmp 0x4f5863
cmp bl, 0x33
jne 0x4f5822
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2e
mov edx, 0x6e
mov eax, 0x16
call fcn.004085c4
jmp 0x4f5863
cmp bl, 0x3d
jne 0x4f5846
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x46
mov edx, 0x6e
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f5863
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5f
mov edx, 0x6e
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xcc
sub al, 4
jae 0x4f5941
cmp bl, 0x2d
jne 0x4f58b6
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x14
mov edx, 0x6e
xor eax, eax
call fcn.004085c4
jmp 0x4f591b
cmp bl, 0x3d
jne 0x4f58da
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2c
mov edx, 0x6e
mov eax, 0x16
call fcn.004085c4
jmp 0x4f591b
cmp bl, 0x3d
jne 0x4f58fe
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x44
mov edx, 0x6e
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f591b
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5d
mov edx, 0x6e
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xeb
sub al, 3
jae 0x4f5a5e
mov esi, 0x16
cmp bl, 0x15
jne 0x4f5980
mov eax, esi
add eax, eax
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0xc7
pop edx
sub eax, edx
mov ecx, 0xc7
mov edx, esi
call fcn.004085c4
jmp 0x4f5a38
cmp bl, 0x16
jne 0x4f59af
lea eax, [esi + esi*2]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0xc7
pop edx
sub eax, edx
mov edx, esi
add edx, edx
mov ecx, 0xc7
call fcn.004085c4
jmp 0x4f5a38
cmp bl, 0x12
jne 0x4f59dd
mov eax, esi
add eax, eax
add eax, eax
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0xc7
pop edx
sub eax, edx
lea edx, [esi + esi*2]
mov ecx, 0xc7
call fcn.004085c4
jmp 0x4f5a38
cmp bl, 0x13
jne 0x4f5a0b
lea eax, [esi + esi*4]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0xc7
pop edx
sub eax, edx
mov edx, esi
add edx, edx
add edx, edx
mov ecx, 0xc7
call fcn.004085c4
jmp 0x4f5a38
cmp bl, 0x17
jne 0x4f5a38
mov eax, esi
add eax, eax
lea eax, [eax + eax*2]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0xc7
pop edx
sub eax, edx
lea edx, [esi + esi*4]
mov ecx, 0xc7
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xb5
sub al, 3
jb 0x4f5a6e
sub al, 3
jne 0x4f5b39
cmp bl, 0x4b
jne 0x4f5a99
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x16
pop edx
sub eax, edx
mov ecx, 0x16
mov edx, 0x16
call fcn.004085c4
jmp 0x4f5b13
cmp bl, 0x51
jne 0x4f5ac4
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x2e
pop edx
sub eax, edx
mov ecx, 0x2e
mov edx, 0x16
call fcn.004085c4
jmp 0x4f5b13
cmp bl, 0x4c
jne 0x4f5aef
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x46
pop edx
sub eax, edx
mov ecx, 0x46
mov edx, 0x16
call fcn.004085c4
jmp 0x4f5b13
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x5f
pop edx
sub eax, edx
mov ecx, 0x5f
mov edx, 0x16
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xaa
sub al, 4
jae 0x4f5c10
cmp bl, 0x4b
jne 0x4f5b70
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x16
pop edx
sub eax, edx
mov ecx, 0x16
mov edx, 0x2c
call fcn.004085c4
jmp 0x4f5bea
cmp bl, 0x51
jne 0x4f5b9b
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x2e
pop edx
sub eax, edx
mov ecx, 0x2e
mov edx, 0x2c
call fcn.004085c4
jmp 0x4f5bea
cmp bl, 0x4c
jne 0x4f5bc6
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x46
pop edx
sub eax, edx
mov ecx, 0x46
mov edx, 0x2c
call fcn.004085c4
jmp 0x4f5bea
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x5f
pop edx
sub eax, edx
mov ecx, 0x5f
mov edx, 0x2c
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xbb
sub al, 4
jae 0x4f5cbc
cmp bl, 0x45
jne 0x4f5c3a
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x14
mov edx, 0x16
xor eax, eax
call fcn.004085c4
jmp 0x4f5c96
cmp bl, 0x46
jne 0x4f5c5b
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2c
mov edx, 0x16
mov eax, 0x16
call fcn.004085c4
jmp 0x4f5c96
cmp bl, 0x47
jne 0x4f5c7c
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x44
mov edx, 0x16
mov eax, 0x2e
call fcn.004085c4
jmp 0x4f5c96
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5d
mov edx, 0x16
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x4f
je 0x4f5ccc
add al, 0xfc
sub al, 3
jae 0x4f5d6c
cmp bl, 0x53
jne 0x4f5cea
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x14
mov edx, 0x2c
xor eax, eax
call fcn.004085c4
jmp 0x4f5d46
cmp bl, 0x4f
jne 0x4f5d0b
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x2c
mov edx, 0x2c
mov eax, 0x16
call fcn.004085c4
jmp 0x4f5d46
cmp bl, 0x54
jne 0x4f5d2c
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x44
mov edx, 0x2c
mov eax, 0x2f
call fcn.004085c4
jmp 0x4f5d46
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x5d
mov edx, 0x2c
mov eax, 0x47
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
sub al, 0x4a
je 0x4f5d82
sub al, 4
je 0x4f5d82
sub al, 2
je 0x4f5d82
sub al, 2
jne 0x4f5e5c
cmp bl, 0x52
jne 0x4f5db3
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x16
pop edx
sub eax, edx
mov ecx, 0x16
mov edx, 0x6e
call fcn.004085c4
jmp 0x4f5e36
cmp bl, 0x50
jne 0x4f5de1
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x2e
pop edx
sub eax, edx
mov ecx, 0x2e
mov edx, 0x6e
call fcn.004085c4
jmp 0x4f5e36
cmp bl, 0x4a
jne 0x4f5e0f
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x46
pop edx
sub eax, edx
mov ecx, 0x46
mov edx, 0x6e
call fcn.004085c4
jmp 0x4f5e36
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
push eax
mov eax, 0x5f
pop edx
sub eax, edx
mov ecx, 0x5f
mov edx, 0x6e
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
push 2
push 2
push 0xff
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b5c
jmp 0x4f60a9
mov eax, ebx
add al, 0xdb
sub al, 2
jae 0x4f5ef4
cmp bl, 0x25
jne 0x4f5e8c
push 0x236
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x110
mov edx, 0x1ff
mov eax, 0x10e
call fcn.004085c4
jmp 0x4f5ea9
push 0x236
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x113
mov edx, 0x1ff
mov eax, 0x111
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0x10]
mov edx, 0xffffff
call fcn.00437aa8
mov edx, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.00438368
mov edx, dword [ebp - 0x1c]
inc edx
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.00438308
jmp 0x4f60a9
mov eax, ebx
add al, 0xe0
sub al, 4
jae 0x4f5f9e
cmp bl, 0x21
jne 0x4f5f24
push 0xbf
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x7f
mov edx, 0xbb
mov eax, 0x7a
call fcn.004085c4
jmp 0x4f5f65
cmp bl, 0x22
jne 0x4f5f48
push 0xbf
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x85
mov edx, 0xbb
mov eax, 0x80
call fcn.004085c4
jmp 0x4f5f65
push 0xbf
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x79
mov edx, 0xbb
mov eax, 0x74
call fcn.004085c4
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x3c]
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 [ebp - 0x3c]
add eax, 5
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
jmp 0x4f60a9
cmp bl, 0x44
jne 0x4f5ffd
push 0x83
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0x62
mov edx, 0x6f
mov eax, 0x60
call fcn.004085c4
lea esi, [ebp - 0x1c]
lea edi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x3c]
push eax
call sub.user32.dll_InflateRect
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
jmp 0x4f60a9
cmp bl, 0x10
jne 0x4f6036
push 0x2c
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc5
mov edx, 0x16
mov eax, 0x63
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
jmp 0x4f60a9
cmp bl, 0x14
jne 0x4f6072
push 0x84
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc5
mov edx, 0x6e
mov eax, 0x63
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
jmp 0x4f60a9
cmp bl, 0x11
jne 0x4f60a9
push 0x42
lea eax, [ebp - 0x2c]
push eax
mov ecx, 0xc5
mov edx, 0x2c
mov eax, 0x63
call fcn.004085c4
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x2c]
call fcn.004f3b28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8