Function at 0x514ca3
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1830
call fcn.00521447
push ebx
push esi
push edi
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
mov edi, ecx
mov dword [ebp - 0x14], edi
jne 0x514cfa
cmp byte [ebp + 0x10], 0xff
jne 0x514cfa
mov byte [ebp + 0x10], bl
mov byte [ebp - 0x15], bl
push 0x20
call fcn.005170c8
test eax, eax
pop ecx
je 0x51546d
push dword [ebp + 0x10]
xor ecx, ecx
mov cx, word [edi + 0x48]
push ebx
push dword [ebp + 8]
push dword [edi + 0x4c]
push ecx
mov ecx, eax
call fcn.00518cfe
mov esi, eax
jmp 0x51546f
cmp byte [ebp + 0x10], 0
mov byte [ebp - 0x15], 1
je 0x514ccb
movzx esi, byte [ebp + 0x10]
lea eax, [esi + esi*2]
shl eax, 2
push eax
mov dword [ebp - 0x2c], esi
call fcn.005170c8
mov ebx, eax
test ebx, ebx
pop ecx
mov dword [ebp - 0x24], ebx
jne 0x514d30
push 0x4585d8
push 0x459d18
jmp 0x51585a
and dword [ebp - 0x1c], 0
test esi, esi
jle 0x514ccb
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 0x1c]
mov esi, dword [eax + edi*4]
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x514d50
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x10], eax
jmp 0x514d54
and dword [ebp - 0x10], 0
cmp byte [ebp + 8], 0x2b
mov ecx, dword [ebp - 0x24]
lea eax, [edi + edi*2]
lea ebx, [ecx + eax*4]
mov byte [ebx + 1], 0
jne 0x514dbe
cmp edi, 1
jne 0x514d98
push esi
call fcn.004dfa8c
pop ecx
mov dword [ebp - 0x28], eax
push edi
push dword [ebp + 8]
call fcn.00511859
test al, al
pop ecx
pop ecx
mov byte [ebx], al
je 0x514e5b
mov cl, byte [esi]
test cl, cl
jne 0x514de8
mov byte [ebx], cl
jmp 0x514e9d
jle 0x514d76
mov eax, dword [ebp - 0x28]
test eax, eax
jl 0x514db0
cmp eax, 1
jle 0x514d76
cmp eax, 2
jle 0x514db0
cmp eax, 5
jle 0x514d76
push dword [ebp - 0x10]
push esi
call fcn.005165a2
pop ecx
pop ecx
mov byte [ebx + 1], al
cmp byte [ebp + 8], 0x68
jne 0x514d76
cmp edi, 1
jne 0x514d76
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x514d76
push 0x45be1c
push eax
call fcn.0050ca68
test eax, eax
pop ecx
pop ecx
jne 0x514d76
mov byte [ebx], 1
jmp 0x514d8b
mov edx, dword [ebp - 0x10]
xor edi, edi
mov eax, esi
sub edx, esi
cmp cl, byte [0x46308d]
jne 0x514e05
cmp dword [ebp - 0x10], 0
je 0x514e0d
cmp byte [edx + eax], 0
je 0x514e0d
inc edi
inc eax
mov cl, byte [eax]
test cl, cl
jne 0x514df1
cmp byte [edi + esi], 0
jne 0x514e9a
mov ecx, dword [ebp - 0x14]
xor edi, edi
push edi
push edi
push edi
push esi
call fcn.004e73d1
cmp eax, edi
je 0x51552f
cmp byte [ebx], 2
jne 0x514e48
mov cl, byte [eax + 0xf]
test cl, cl
jne 0x514e3f
mov ecx, dword [eax + 4]
mov cl, byte [ecx + 0xf]
cmp cl, 2
ja 0x515429
mov dword [ebx + 4], 0x4585d8
mov word [ebx + 2], di
mov dword [ebx + 8], eax
jmp 0x51540f
mov al, byte [esi]
cmp al, byte [0x46308d]
jne 0x514e9d
cmp dword [ebp - 0x10], 0
je 0x514e73
mov eax, dword [ebp - 0x10]
cmp byte [eax], 0
jne 0x514e9d
mov al, byte [esi + 1]
cmp al, 0x20
je 0x514e7e
cmp al, 9
jne 0x514e9d
inc esi
inc esi
cmp dword [ebp - 0x10], 0
mov byte [ebx + 1], 1
je 0x514e8e
add dword [ebp - 0x10], 2
cmp byte [ebp + 8], 1
jne 0x514e9d
mov byte [ebp + 8], 2
jmp 0x514e9d
mov edi, dword [ebp - 0x1c]
push esi
call fcn.00520ea7
mov word [ebx + 2], ax
movzx eax, ax
push eax
push esi
call fcn.0051713f
add esp, 0xc
test eax, eax
mov dword [ebx + 4], eax
je 0x51552f
movzx ecx, byte [ebp + 8]
and dword [ebp - 8], 0
imul ecx, ecx, 0xe
add ecx, 0x463117
je 0x514f39
lea esi, [edi + 1]
jmp 0x514edf
movzx edx, dl
cmp edx, esi
je 0x514ee7
inc ecx
mov dl, byte [ecx]
test dl, dl
jne 0x514ed7
jmp 0x514f39
cmp byte [ebp + 8], 0x7c
jne 0x514f0b
cmp edi, 1
jle 0x514f05
push 0x45be14
push eax
call fcn.0050ca68
test eax, eax
pop ecx
pop ecx
je 0x514f39
jmp 0x514f11
cmp byte [ebp + 0x10], 2
ja 0x514f39
cmp byte [ebp + 8], 2
je 0x514f35
mov esi, dword [ebx + 4]
push 0x45be00
push esi
call fcn.0050418c
test eax, eax
pop ecx
pop ecx
jne 0x514f35
push dword [ebp - 0x10]
push esi
call fcn.005165a2
pop ecx
pop ecx
mov byte [ebx + 1], al
jmp 0x514f39
mov byte [ebx + 1], 1
cmp byte [ebx + 1], 0
je 0x5153b0
push 0
push 1
push 1
push 1
push dword [ebx + 4]
call fcn.004ccd74
add esp, 0x14
test eax, eax
je 0x514f5e
mov byte [ebx + 1], 0
cmp byte [ebx + 1], 0
je 0x5153b0
mov esi, dword [ebx + 4]
mov ecx, esi
mov al, byte [ecx]
xor dl, dl
xor edi, edi
test al, al
je 0x514fb1
movsx eax, al
sub eax, 0x22
je 0x514f9d
sub eax, 6
je 0x514f96
dec eax
jne 0x514fa2
test dl, dl
jne 0x514fa2
test edi, edi
je 0x515437
dec edi
jmp 0x514fa2
test dl, dl
jne 0x514fa2
inc edi
jmp 0x514fa2
test dl, dl
sete dl
inc ecx
mov al, byte [ecx]
test al, al
jne 0x514f77
test edi, edi
jne 0x51543f
cmp byte [esi], 0
je 0x5152da
cmp byte [esi], 0x2e
jne 0x514fc7
cmp byte [esi + 1], 0x3d
jne 0x514fc7
inc esi
inc esi
cmp byte [esi], 0
je 0x5152d0
movsx eax, byte [esi]
push eax
push 0x45bdec
call fcn.00520fd7
test eax, eax
pop ecx
pop ecx
je 0x514fea
inc esi
cmp byte [esi], 0
jne 0x514fd0
mov al, byte [esi]
test al, al
je 0x5152d0
cmp al, 0x22
jne 0x515019
lea eax, [esi + 1]
mov cl, byte [eax]
test cl, cl
je 0x515449
cmp cl, 0x22
jne 0x515016
inc eax
cmp byte [eax], cl
mov dword [ebp - 0xc], eax
jne 0x5152c4
inc eax
jmp 0x514ffb
lea edi, [esi + 1]
mov eax, edi
mov dword [ebp - 0xc], eax
jmp 0x515029
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
movsx eax, byte [eax]
push eax
push 0x45bdec
call fcn.00520fd7
test eax, eax
pop ecx
pop ecx
je 0x515023
mov eax, dword [ebp - 0xc]
cmp byte [eax], 0x3d
jne 0x51504e
dec eax
cmp byte [eax], 0x2e
jne 0x51504e
mov dword [ebp - 0xc], eax
cmp byte [esi], 0x2e
jne 0x51506b
movsx eax, byte [edi]
push eax
push 0x45bde8
call fcn.00520fd7
test eax, eax
pop ecx
pop ecx
jne 0x5152c4
mov eax, dword [ebp - 0xc]
sub eax, esi
cmp eax, 4
mov dword [ebp - 0x20], eax
jae 0x5150d6
cmp eax, 1
jbe 0x5150d6
cmp eax, 2
mov al, byte [esi]
jne 0x5150a1
cmp al, 0x6f
je 0x51508c
cmp al, 0x4f
jne 0x5150d6
mov al, byte [edi]
cmp al, 0x72
je 0x515096
cmp al, 0x52
jne 0x5150d6
mov byte [esi], 0x7c
mov byte [edi], 0x7c
jmp 0x5152c4
cmp al, 0x41
je 0x515150
cmp al, 0x4e
je 0x5150b9
cmp al, 0x61
je 0x515150
cmp al, 0x6e
jne 0x5150d6
mov al, byte [edi]
cmp al, 0x6f
je 0x5150c3
cmp al, 0x4f
jne 0x5150d6
mov al, byte [esi + 2]
cmp al, 0x74
je 0x5152c4
cmp al, 0x54
je 0x5152c4
mov eax, dword [ebp - 0xc]
mov cl, byte [eax]
push 0x45bde0
push esi
mov byte [ebp - 1], cl
mov byte [eax], 0
call fcn.0050418c
test eax, eax
pop ecx
pop ecx
jne 0x515451
push eax
push 1
push eax
push 1
push esi
call fcn.004ccd74
add esp, 0x14
test eax, eax
jne 0x5152bc
cmp byte [esi], 0x3f
jne 0x51511a
cmp byte [edi], al
je 0x5152bc
movsx eax, byte [0x46308d]
cmp byte [ebp - 1], 0x28
push eax
push esi
sete byte [ebp - 0x16]
call fcn.00520fd7
test eax, eax
pop ecx
pop ecx
je 0x515212
cmp dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], eax
je 0x51517c
mov eax, esi
sub eax, dword [ebx + 4]
add eax, dword [ebp - 0x10]
jmp 0x51517e
mov al, byte [edi]
cmp al, 0x6e
je 0x51515e
cmp al, 0x4e
jne 0x5150d6
mov al, byte [esi + 2]
cmp al, 0x64
je 0x51516d
cmp al, 0x44
jne 0x5150d6
mov byte [esi], 0x26
mov byte [edi], 0x26
mov byte [esi + 2], 0x20
jmp 0x5152c4
xor eax, eax
lea ecx, [ebp - 8]
push ecx
lea ecx, reloc.WINMM.dll_midiStreamOut
push ecx
mov ecx, dword [ebp - 0x14]
push eax
push esi
call fcn.005166e2
test eax, eax
je 0x51552f
cmp byte [ebp - 0x16], 0
je 0x5152bc
mov eax, dword [ebp - 0xc]
and dword [ebp - 0x20], 0
inc eax
push eax
call fcn.004ccc79
mov esi, eax
pop ecx
mov cl, byte [esi]
cmp cl, 0x29
je 0x5151fd
xor edi, edi
xor al, al
inc edi
mov edx, edi
jmp 0x5151f7
test edi, edi
je 0x515200
cmp cl, 0x22
jne 0x5151d4
test al, al
sete al
test al, al
jne 0x5151f4
movsx ecx, cl
sub ecx, 0x28
je 0x5151f3
dec ecx
je 0x5151f0
sub ecx, 3
jne 0x5151f4
cmp edi, 1
jne 0x5151f4
inc edx
jmp 0x5151f4
dec edi
jmp 0x5151f4
inc edi
inc esi
mov cl, byte [esi]
test cl, cl
jne 0x5151c6
jmp 0x515200
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
lea eax, [eax + eax*2]
mov byte [ebp + eax*4 - 0x1827], dl
jmp 0x5152bc
cmp dword [ebp - 8], reloc.WINMM.dll_midiStreamOut
jge 0x515459
mov edi, dword [ebp - 8]
mov ax, word [ebp - 0x20]
lea edi, [edi + edi*2]
shl edi, 2
mov dword [ebp + edi - reloc.WINMM.dll_midiStreamOut], esi
mov word [ebp + edi - 0x1826], ax
mov al, byte [ebp - 0x16]
test al, al
mov byte [ebp + edi - 0x1828], al
je 0x515253
and dword [ebp + edi - reloc.WINMM.dll_midiStreamOut], 0
jmp 0x5152b9
mov eax, dword [ebp - 0xc]
movsx eax, byte [eax - 1]
push eax
call fcn.0050cef6
cmp eax, 0x45
pop ecx
jne 0x51529a
cmp byte [ebp - 1], 0x2b
je 0x515272
cmp byte [ebp - 1], 0x2d
jne 0x51529a
push 0x2e
push esi
call fcn.00520fd7
test eax, eax
pop ecx
pop ecx
je 0x51529a
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0xc]
mov byte [ecx], al
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
mov al, byte [eax]
cmp al, 0x30
jl 0x5152c4
cmp al, 0x39
jle 0x515288
jmp 0x5152c4
mov ecx, dword [ebp - 0x14]
push 0
push 0
push dword [ebp - 0x20]
push esi
call fcn.004e73d1
test eax, eax
mov dword [ebp + edi - reloc.WINMM.dll_midiStreamOut], eax
je 0x51552f
inc dword [ebp - 8]
mov al, byte [ebp - 1]
mov ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov esi, dword [ebp - 0xc]
cmp byte [esi], 0
jne 0x514fba
cmp dword [ebp - 8], 0
jne 0x51535d
mov eax, dword [ebx + 4]
cmp byte [eax], 0x22
jne 0x51540b
inc eax
mov cl, byte [eax]
test cl, cl
je 0x51552f
cmp cl, 0x22
jne 0x5152e6
inc eax
cmp byte [eax], cl
je 0x5152e6
cmp byte [eax], 0
jne 0x5153d1
cmp byte [ebp + 8], 0x88
je 0x5153d1
cmp byte [ebp + 8], 0x87
je 0x5153d1
dec eax
mov byte [ebx + 1], 0
mov byte [eax], 0
mov ecx, dword [ebx + 4]
sub eax, ecx
push eax
lea eax, [ecx + 1]
push eax
push ecx
call fcn.00521097
push 0
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x45bddc
push 0x45bdd8
push dword [ebx + 4]
call fcn.004e589c
push dword [ebx + 4]
call fcn.00520ea7
add esp, 0x30
mov word [ebx + 2], ax
jmp 0x5153d1
cmp dword [ebp - 8], 1
jne 0x51537c
push 0
push 0
push dword [ebx + 4]
call fcn.005196f4
add esp, 0xc
test eax, eax
je 0x51537c
mov byte [ebx + 1], 0
jmp 0x5153d7
push 0x45bdec
push dword [ebx + 4]
call fcn.0050418c
test eax, eax
pop ecx
pop ecx
jne 0x5153d1
cmp byte [ebp - 0x1828], al
jne 0x5153d1
mov eax, dword [ebp - reloc.WINMM.dll_midiStreamOut]
mov al, byte [eax]
cmp al, byte [0x46308d]
jne 0x5153d1
mov byte [ebx + 1], 0
mov byte [ebx], 1
jmp 0x5153d1
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 8]
push eax
lea eax, reloc.WINMM.dll_midiStreamOut
push eax
push dword [ebp - 0x10]
push dword [ebx + 4]
call fcn.005166e2
test eax, eax
je 0x51552f
cmp dword [ebp - 8], 0
je 0x51540b
mov esi, dword [ebp - 8]
lea esi, [esi + esi*2]
shl esi, 2
lea eax, [esi + 0xc]
push eax
call fcn.005170c8
test eax, eax
pop ecx
mov dword [ebx + 8], eax
je 0x515461
push esi
lea ecx, reloc.WINMM.dll_midiStreamOut
push ecx
push eax
call fcn.005208a7
mov eax, dword [ebx + 8]
add esp, 0xc
and dword [esi + eax], 0
jmp 0x51540f
and dword [ebx + 8], 0
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x2c]
jl 0x514d38
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x14]
jmp 0x514ccb
push esi
push 0x45bba0
mov ecx, dword [ebp - 0x14]
jmp 0x51585c
push ecx
push 0x45bdcc
jmp 0x51542f
push dword [ebx + 4]
push 0x45b8e8
jmp 0x51542f
push esi
push 0x45bb20
jmp 0x51542f
push eax
push 0x45bd90
jmp 0x51542f
push esi
push 0x45bacc
jmp 0x51542f
push 0x4585d8
push 0x459d18
jmp 0x51542f
xor esi, esi
test esi, esi
je 0x514d21
mov eax, dword [edi + 4]
mov dword [esi + 0x10], eax
cmp dword [edi], 0
jne 0x515486
mov dword [edi], esi
jmp 0x51548c
mov eax, dword [edi + 4]
mov dword [eax + 0x14], esi
mov cl, byte [ebp + 0x10]
test cl, cl
mov dword [edi + 4], esi
mov dword [edi + reloc.WINMM.dll_midiStreamOut], esi
jbe 0x5154a9
mov eax, dword [ebx + 4]
mov dword [ebp + 0x14], eax
mov eax, 0x4585d8
jmp 0x5154b1
mov eax, 0x4585d8
mov dword [ebp + 0x14], eax
cmp cl, 1
jbe 0x5154be
mov edx, dword [ebx + 0x10]
mov dword [ebp + 0xc], edx
jmp 0x5154c1
mov dword [ebp + 0xc], eax
cmp cl, 2
jbe 0x5154ce
mov edx, dword [ebx + 0x1c]
mov dword [ebp - 8], edx
jmp 0x5154d1
mov dword [ebp - 8], eax
cmp cl, 3
jbe 0x5154d9
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x1c], eax
mov al, byte [ebp + 8]
cmp al, 8
je 0x515786
cmp al, 0x68
je 0x5155e8
cmp al, 0x8b
jbe 0x51578d
cmp al, 0x8f
jbe 0x51550f
cmp al, 0xd2
jne 0x51578d
mov byte [0x46534c], 1
jmp 0x51578d
push 1
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x515536
push 1
push dword [ebp + 0x14]
mov ecx, edi
call fcn.00518e1a
test eax, eax
mov dword [esi + 0xc], eax
jne 0x515536
xor eax, eax
jmp 0x515831
cmp byte [ebp + 8], 0x8d
je 0x5155a0
cmp byte [ebp + 8], 0x8e
je 0x5155a0
cmp byte [ebp + 8], 0x8f
jne 0x51578d
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x51578d
push 2
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x51578d
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00520ea7
cmp eax, 1
pop ecx
ja 0x515687
movsx eax, byte [ebx]
push eax
call fcn.0050cef6
push eax
push 0x45bd8c
call fcn.00520fd7
add esp, 0xc
test eax, eax
jne 0x51578d
jmp 0x515687
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x51578d
push 2
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x51578d
mov ebx, dword [ebp + 0xc]
push ebx
call fcn.00520ea7
cmp eax, 1
pop ecx
ja 0x515687
movsx eax, byte [ebx]
push eax
call fcn.0050cef6
cmp eax, 0x52
pop ecx
je 0x51578d
jmp 0x515687
movzx eax, cl
sub eax, 0
je 0x515786
dec eax
mov ecx, esi
je 0x51573e
xor ebx, ebx
inc ebx
push ebx
call fcn.0050ea57
test al, al
je 0x515612
mov dword [esi + 0xc], ebx
jmp 0x51578d
push 0x45b05c
push dword [ebp + 0x14]
call fcn.0050ca68
test eax, eax
pop ecx
pop ecx
jne 0x515631
mov dword [esi + 0xc], 5
jmp 0x51578d
push 0x45be1c
push dword [ebp + 0x14]
call fcn.0050ca68
test eax, eax
pop ecx
pop ecx
jne 0x515650
mov dword [esi + 0xc], 6
jmp 0x51578d
push 0
push dword [ebp + 0x14]
call fcn.004e299d
neg eax
sbb eax, eax
neg eax
add eax, 3
cmp eax, 3
pop ecx
pop ecx
mov dword [esi + 0xc], eax
jne 0x5156df
push 2
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x515694
push dword [ebp + 0xc]
call fcn.004df500
test eax, eax
pop ecx
jne 0x515694
push dword [ebp + 0xc]
push 0x45addc
jmp 0x51585a
mov eax, dword [ebp - 8]
cmp byte [eax], 0
je 0x51578d
push 3
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x51578d
mov ebx, dword [ebp - 8]
push ebx
call fcn.00520ea7
cmp eax, 1
pop ecx
ja 0x5156d2
mov al, byte [ebx]
cmp al, 0x30
je 0x51578d
cmp al, 0x31
je 0x51578d
push dword [ebp - 8]
push 0x45bd74
jmp 0x51585a
cmp byte [ebp + 0x10], 2
jbe 0x5156ff
push 3
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x5156ff
push dword [ebp - 8]
call fcn.004df500
test eax, eax
pop ecx
je 0x5156d2
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0
je 0x51578d
push 4
mov ecx, esi
call fcn.0050ea57
test al, al
jne 0x51578d
mov ebx, dword [ebp - 0x1c]
push ebx
call fcn.00520ea7
cmp eax, 1
pop ecx
ja 0x515731
mov al, byte [ebx]
cmp al, 0x30
je 0x51578d
cmp al, 0x31
je 0x51578d
push dword [ebp - 0x1c]
push 0x45bd5c
jmp 0x51585a
push 1
call fcn.0050ea57
test al, al
jne 0x51577d
cmp byte [ebx + 1], al
jne 0x51577d
xor ebx, ebx
push ebx
push ebx
push 1
push ebx
push dword [ebp + 0x14]
call fcn.004ccd74
add esp, 0x14
test eax, eax
jne 0x515786
push ebx
push dword [ebp + 0x14]
call fcn.004e299d
neg eax
sbb eax, eax
neg eax
pop ecx
add eax, 3
pop ecx
mov dword [esi + 0xc], eax
jmp 0x51578d
mov dword [esi + 0xc], 1
jmp 0x51578d
mov dword [esi + 0xc], 2
cmp byte [edi + 0x3c], 0
je 0x5157ac
mov eax, dword [edi + 0x18]
mov dword [eax + 4], esi
mov byte [edi + 0x3c], 0
mov eax, dword [0x4651cc]
cmp byte [eax + 0x30], 0
jne 0x5157ac
mov byte [eax + 0x30], 1
cmp byte [ebp + 8], 0x6b
jne 0x5157cf
mov eax, dword [edi + 0x18]
inc dword [edi + 0x38]
test eax, eax
je 0x5157f9
cmp dword [eax + 4], 0
jne 0x5157f9
mov dword [esi + 0xc], 1
mov byte [edi + 0x3c], 1
jmp 0x5157f9
cmp byte [ebp + 8], 0x6c
jne 0x5157f9
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
xor ecx, ecx
cmp dword [0x4651cc], ecx
je 0x5157f9
cmp eax, ecx
jne 0x5157f9
mov dword [esi + 0xc], 1
mov dword [0x4651cc], ecx
mov dword [edi + 0x40], ecx
cmp byte [ebp - 0x15], 0
je 0x51582b
mov eax, dword [edi + 0x10]
jmp 0x515827
cmp dword [eax + 4], 0
jne 0x51582b
mov cl, byte [esi]
cmp cl, 0x6b
jne 0x515817
cmp dword [esi + 0xc], 0
jne 0x515838
cmp cl, 9
je 0x515844
cmp cl, 0x6c
je 0x515850
mov dword [eax + 4], esi
mov eax, dword [eax + 8]
test eax, eax
jne 0x515804
inc dword [edi + 8]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10
push 0x4585d8
push 0x45bd34
jmp 0x51585a
push 0x4585d8
push 0x45bd10
jmp 0x51585a
push 0x4585d8
push 0x45bcc0
mov ecx, edi
call fcn.00515a24
jmp 0x515831