Function at 0x47a9ac
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xc4
push ebx
push esi
push edi
xor esi, esi
lea eax, [ebp + 0x78]
or edi, 0xffffffff
push eax
mov dword [ebp + 0x58], ecx
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x18], 1
call fcn.00439c95
pop ecx
mov ebx, 0x4ae9fc
push ebx
lea ecx, [ebp + 0x50]
mov dword [ebp + 0x28], esi
call fcn.00448399
push ebx
lea ecx, [ebp - 0x44]
call fcn.00448399
push ebx
lea ecx, [ebp - 0x34]
call fcn.00448399
fldz
mov eax, dword [ebp + 0x78]
fstp qword [ebp - 0x4c]
cmp word [eax], 0x2d
mov dword [ebp - 0x10], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 8], esi
mov dword [ebp + 0x2c], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
jne 0x47abaf
push 4
pop ebx
push ebx
push dword [ebp + 0x78]
push str._txt
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47aa43
mov dword [ebp + 0x40], ebx
jmp 0x47aa7e
push 3
push dword [ebp + 0x78]
push 0x4b99e8
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47aa66
add dword [ebp + 0x78], 6
mov dword [ebp + 8], 3
jmp 0x47aa82
push ebx
push dword [ebp + 0x78]
push str._gui
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47aa91
xor esi, esi
inc esi
add dword [ebp + 0x78], 8
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
pop ecx
jmp 0x47ab6e
push 6
push dword [ebp + 0x78]
push str._base
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47aac2
add dword [ebp + 0x78], 0xc
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x2c], 0xa
call fcn.0044b46e
pop ecx
jmp 0x47aa8b
push 5
push dword [ebp + 0x78]
push str._err
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47ab01
add dword [ebp + 0x78], 0xa
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.0044b318
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00442c7a
add esp, 0x10
jmp 0x47ab6e
push 2
push dword [ebp + 0x78]
push 0x4b7210
call fcn.0043af58
add esp, 0xc
test al, al
je 0x47ab7b
add dword [ebp + 0x78], ebx
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0040545b
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0040545b
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044b46e
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044b46e
add esp, 0x20
cmp dword [ebp + 0x18], 0
jg 0x47ab64
mov dword [ebp + 0x18], 1
mov edi, dword [ebp + 0x44]
sub edi, dword [ebp + 0x48]
inc edi
mov dword [ebp + 0x1c], edi
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
je 0x47aa29
test esi, esi
je 0x47abaf
push str.27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.00448399
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.0043fe06
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
call fcn.004309f9
cdq
mov esi, eax
mov ebx, edx
lea ecx, [ebp + 0x7c]
jmp 0x47b77a
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
push 0x23
pop ecx
cmp ax, cx
jne 0x47abc2
mov dword [ebp - 0x10], ecx
jmp 0x47abc8
cmp ax, 0x24
jne 0x47abcc
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
mov esi, dword [ebp + 0x78]
xor ebx, ebx
cmp word [esi], bx
pop ecx
jne 0x47abe7
xor esi, esi
jmp 0x47b77f
push esi
call fcn.0040fed5
pop ecx
push esi
lea ecx, [ebp + 0x44]
call fcn.00448399
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x44]
call fcn.0043fddf
mov esi, dword [ebp + 0x44]
push 0x3b
push esi
mov dword [ebp + 0x78], esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov ebx, eax
test ebx, ebx
je 0x47ac23
and word [ebx], 0
mov edx, esi
call fcn.0043fa4f
test al, al
jne 0x47ac6a
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
je 0x47ac6a
cmp word [eax + 2], 0x3d
je 0x47ac52
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x47ac52
cmp cx, 0x3c
jne 0x47ac54
xor eax, eax
test eax, eax
je 0x47ac6a
push 0x3d
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004429d8
add esp, 0xc
push dword [ebp + 0x50]
lea ecx, [ebp + 0x3c]
call fcn.00448399
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + 0x92], 0
jne 0x47ac99
test byte [ecx + 9], 0xf
jne 0x47ac99
push 1
push 0
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x3c]
call fcn.0044ec85
jmp 0x47aca9
push 1
push 0
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x3c]
call fcn.0044dca2
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
test ebx, ebx
je 0x47acba
mov word [ebx], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
push 2
pop esi
jne 0x47acc9
add dword [ebp + 0x78], esi
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
mov ebx, dword [ebp + 0x78]
xor eax, eax
cmp edi, eax
pop ecx
mov ecx, dword [ebp + 0x50]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 4], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x40], ebx
jle 0x47ad28
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
push ebx
add esi, 0x191
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0x641
add eax, esi
push eax
lea ecx, [ebp + 4]
call fcn.0043fddf
mov eax, dword [ebp + 4]
mov dword [ebp - 0x1c], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x14], eax
jmp 0x47b70a
lea ecx, [ebp + 0x64]
call fcn.0043fd9a
lea ecx, [ebp - 8]
call fcn.0043fd9a
mov ecx, dword [ebp + 0x40]
add ecx, ecx
mov eax, 0x4b99a4
sub eax, ecx
mov edi, ebx
push 0x4c9c14
mov dword [ebp - 0x2c], eax
mov dword [ebp + 0x4c], edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x58]
mov dword [ebp + 0x3c], eax
mov byte [ebp + 0x6f], 0
mov edx, edi
xor eax, eax
jmp 0x47ad82
cmp ax, 0x3b
je 0x47ad8c
push eax
call fcn.00439c7e
add esp, 4
test al, al
jne 0x47ad8c
add edi, esi
mov dword [ebp + 0x4c], edi
mov ax, word [edi]
test ax, ax
jne 0x47ad6a
jmp 0x47ad9f
and word [edi], 0
lea eax, [ebp + 0x4c]
add edi, esi
push eax
mov dword [ebp + 0x4c], edi
call fcn.00439c95
pop ecx
cmp byte [ebx + 0x92], 0
jne 0x47adc0
test byte [ebx + 9], 0xf
jne 0x47adc0
push 0
push 0
lea eax, [ebp + 0x28]
push eax
push edx
mov ecx, ebx
call fcn.0044ec85
jmp 0x47add0
push 0
push 0
lea eax, [ebp + 0x28]
push eax
push edx
mov ecx, ebx
call fcn.0044dca2
mov edi, dword [ebp + 0x28]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 4]
push eax
lea ecx, [ebp + 0x34]
call fcn.0043fdb8
mov edx, dword [ebp + 0x34]
and dword [ebp + 0x60], 0
mov eax, edx
xor ecx, ecx
jmp 0x47b153
cmp cx, 0x41
jb 0x47ae0b
cmp cx, 0x5a
ja 0x47ae0b
add ecx, 0x20
jmp 0x47b0c4
cmp cx, 0xff21
jb 0x47ae24
cmp cx, 0xff3a
ja 0x47ae24
add ecx, 0x140
jmp 0x47b0c4
cmp cx, 0xff41
jb 0x47ae3d
cmp cx, 0xff5a
ja 0x47ae3d
add ecx, 0x120
jmp 0x47b0c4
cmp cx, 0xff10
jb 0x47ae4b
cmp cx, 0xff19
jbe 0x47ae32
cmp cx, 0xff0b
jne 0x47ae5c
mov word [eax], 0x2b
jmp 0x47b14f
cmp cx, 0xff0d
je 0x47b14a
cmp cx, 0x2014
je 0x47b14a
cmp cx, 0xd7
je 0x47b143
cmp cx, 0xff0a
je 0x47b143
cmp cx, 0xf7
je 0x47b13c
cmp cx, 0xff0f
je 0x47b13c
cmp cx, 0x2215
je 0x47b13c
cmp cx, 0xff05
je 0x47b135
cmp cx, 0xfe6a
je 0x47b135
cmp cx, 0xff06
jne 0x47aed0
mov word [eax], 0x26
jmp 0x47b14f
cmp cx, 0xff20
je 0x47b12e
cmp cx, 0xfe6b
je 0x47b12e
cmp cx, 0xff3e
jne 0x47aef7
mov word [eax], 0x5e
jmp 0x47b14f
cmp cx, 0xff1d
je 0x47b0d3
cmp cx, 0xfe66
je 0x47b0d3
cmp cx, 0xff03
jne 0x47af1e
mov word [eax], 0x23
jmp 0x47b14f
cmp cx, 0xff08
je 0x47b127
cmp cx, 0xfe59
je 0x47b127
cmp cx, 0xfe5d
je 0x47b127
cmp cx, 0x3014
je 0x47b127
cmp cx, 0xff09
je 0x47b120
cmp cx, 0xfe5a
je 0x47b120
cmp cx, 0xfe5e
je 0x47b120
cmp cx, 0x3015
je 0x47b120
cmp cx, 0xff3b
je 0x47b119
cmp cx, 0x3010
je 0x47b119
cmp cx, 0xff3d
je 0x47b112
cmp cx, 0x3011
je 0x47b112
cmp cx, 0xff5b
je 0x47b10b
cmp cx, 0xfe5b
je 0x47b10b
cmp cx, 0xff5d
je 0x47b104
cmp cx, 0xfe5c
je 0x47b104
cmp cx, 0x300a
je 0x47b0fd
cmp cx, 0x3008
je 0x47b0fd
cmp cx, 0xff1c
je 0x47b0fd
cmp cx, 0x300b
je 0x47b0f6
cmp cx, 0x3009
je 0x47b0f6
cmp cx, 0xff1e
je 0x47b0f6
cmp cx, 0xff0c
jne 0x47b021
mov word [eax], 0x2c
jmp 0x47b14f
cmp cx, 0xff0e
je 0x47b0ef
cmp cx, 0x3002
je 0x47b0ef
cmp cx, 0xff1b
jne 0x47b048
mov word [eax], 0x3b
jmp 0x47b14f
cmp cx, 0x3000
jne 0x47b059
mov word [eax], 0x20
jmp 0x47b14f
cmp cx, 0xff5e
jne 0x47b06a
mov word [eax], 0x7e
jmp 0x47b14f
cmp cx, 0xff01
je 0x47b0e8
cmp cx, 0xfe57
je 0x47b0e8
cmp cx, 0xa7
je 0x47b0e1
cmp cx, 0xff5c
je 0x47b0e1
cmp cx, 0x7c
je 0x47b0e1
cmp cx, 0x2223
je 0x47b0e1
cmp cx, 0xffe4
je 0x47b0e1
cmp cx, 0x2264
je 0x47b0da
cmp cx, 0x2266
je 0x47b0da
cmp cx, 0x226f
je 0x47b0da
cmp cx, 0x2265
je 0x47b0cc
cmp cx, 0x2267
je 0x47b0cc
cmp cx, 0x226e
je 0x47b0cc
mov word [eax], cx
jmp 0x47b14f
mov word [eax], 0x3e
add eax, esi
mov word [eax], 0x3d
jmp 0x47b14f
mov word [eax], 0x3c
jmp 0x47b0d1
mov word [eax], 0x7c
jmp 0x47b14f
mov word [eax], 0x21
jmp 0x47b14f
mov word [eax], 0x2e
jmp 0x47b14f
mov word [eax], 0x3e
jmp 0x47b14f
mov word [eax], 0x3c
jmp 0x47b14f
mov word [eax], 0x7d
jmp 0x47b14f
mov word [eax], 0x7b
jmp 0x47b14f
mov word [eax], 0x5d
jmp 0x47b14f
mov word [eax], 0x5b
jmp 0x47b14f
mov word [eax], 0x29
jmp 0x47b14f
mov word [eax], 0x28
jmp 0x47b14f
mov word [eax], 0x40
jmp 0x47b14f
mov word [eax], 0x25
jmp 0x47b14f
mov word [eax], 0x2f
jmp 0x47b14f
mov word [eax], 0x2a
jmp 0x47b14f
mov word [eax], 0x2d
add eax, esi
add edi, esi
mov cx, word [edi]
test cx, cx
jne 0x47adf7
and word [eax], cx
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.00439c95
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
pop ecx
push 0x23
pop ecx
cmp ax, cx
mov edi, 0x4ae9fc
mov dword [ebp], edi
jne 0x47b18e
inc esi
mov dword [ebp + 0x3c], ecx
inc esi
jmp 0x47b19a
cmp ax, 0x24
jne 0x47b19a
inc esi
inc esi
and dword [ebp + 0x3c], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x47b1aa
inc ecx
inc ecx
cmp word [ecx], 0x26
je 0x47b1a2
mov ax, word [ecx]
call fcn.0043e0f6
test al, al
je 0x47b1f1
inc ecx
inc ecx
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.0043e0f6
test al, al
jne 0x47b1b6
cmp dx, 0x30
jb 0x47b1d7
cmp dx, 0x39
jbe 0x47b1b6
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.00439c95
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x47b1f1
mov dword [ebp + 0x60], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x47b206
mov eax, dword [ebp + 0x60]
and word [eax], 0
mov dword [ebp], esi
lea esi, [ebx + 2]
jmp 0x47b215
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0
jne 0x47b215
mov eax, dword [ebp + 0x10]
mov dword [ebp], eax
mov eax, dword [ebp - 8]
xor ebx, ebx
mov word [eax], bx
mov eax, dword [ebp + 0x64]
push 0x23
push esi
mov word [eax], bx
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x54], eax
je 0x47b23a
mov word [eax], bx
add dword [ebp + 0x54], 2
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
lea edx, [esi + eax*2]
mov cx, word [edx]
cmp cx, 0x2b
je 0x47b29d
cmp cx, 0x2d
je 0x47b29d
cmp cx, 0x2a
je 0x47b29d
cmp cx, 0x2f
je 0x47b29d
cmp cx, 0x25
je 0x47b29d
cmp cx, 0x5e
je 0x47b29d
cmp cx, 0x40
je 0x47b29d
cmp cx, 0x26
je 0x47b29d
cmp cx, 0x7c
je 0x47b29d
cmp cx, 0x3d
je 0x47b290
cmp cx, 0x3e
je 0x47b290
cmp cx, 0x3c
jne 0x47b2a0
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x47b2a0
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.0043fdb8
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call fcn.00440d79
test eax, eax
pop ecx
jge 0x47b2d2
or dword [ebp + 0x24], 0xffffffff
cmp word [ebp + 0x3c], bx
mov dword [ebp + 0x20], 0x80070057
jne 0x47b2f9
jmp 0x47b344
cmp word [ebp + 0x3c], bx
lea eax, [ebp + 0x6f]
push eax
push esi
je 0x47b329
call fcn.00450d8b
cmp byte [ebp + 0x6f], 0
mov esi, eax
movsx eax, byte [ebp + 0x6f]
mov ebx, edx
cdq
pop ecx
pop ecx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
je 0x47b2ff
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
cmp dword [ebp + 0x7c], 0
je 0x47b40b
lea ecx, [ebp + 0x68]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
push 0x4c9c14
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47b75f
call fcn.00450d50
fstp qword [ebp + 0x5c]
cmp byte [ebp + 0x6f], 0
movsx eax, byte [ebp + 0x6f]
cdq
pop ecx
pop ecx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
je 0x47b34a
fld qword [ebp - 0x4c]
fstp qword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
cmp eax, ebx
jne 0x47b743
cmp dword [ebp + 0x2c], 1
jle 0x47b539
fld qword [ebp + 0x5c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x4b3600]
fnstsw ax
test ah, 5
jp 0x47b37f
fld qword [ebp + 0x5c]
mov byte [ebp + 0x7b], 1
fchs
fstp qword [ebp + 0x5c]
push 0x66
fldz
xor edi, edi
push edi
push edi
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0xc]
fld qword [ebp + 0x5c]
fstp qword [esp]
push eax
call fcn.0048c6fe
mov esi, dword [ebp - 0xc]
xor ecx, ecx
mov cx, word [esi]
xor ebx, ebx
push ecx
call fcn.0043f865
add esp, 0x24
jmp 0x47b3ea
movzx eax, cx
push 0
sub eax, 0x30
cdq
push 0xa
push edi
mov ecx, edx
push ebx
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], ecx
call fcn.0049a8f0
mov ecx, dword [ebp + 0x60]
add ecx, eax
mov eax, dword [ebp + 0x3c]
adc eax, edx
inc esi
mov ebx, ecx
inc esi
xor ecx, ecx
mov cx, word [esi]
mov edi, eax
push ecx
call fcn.0043f865
add esp, 4
test al, al
jne 0x47b3b2
cmp byte [ebp + 0x7b], al
je 0x47b3fa
neg ebx
adc edi, 0
neg edi
mov esi, ebx
lea ecx, [ebp - 0xc]
mov ebx, edi
call fcn.00439cfd
mov edi, 0x4ae9fc
mov eax, dword [ebp + 0x2c]
cmp eax, 1
jg 0x47b425
push ebx
push esi
push dword [ebp + 0x68]
call fcn.0048ca08
add esp, 0xc
jmp 0x47b5cd
cmp eax, 2
mov dword [ebp + 0x78], edi
jne 0x47b436
mov dword [ebp + 0x78], 0x4b9994
jmp 0x47b450
cmp eax, 8
jne 0x47b444
mov dword [ebp + 0x78], 0x4b998c
jmp 0x47b450
cmp eax, 0x10
jne 0x47b450
mov dword [ebp + 0x78], 0x4b9984
test ebx, ebx
mov dword [ebp + 0x60], edi
jg 0x47b46b
jl 0x47b45d
test esi, esi
jae 0x47b46b
neg esi
adc ebx, 0
mov dword [ebp + 0x60], 0x4b7678
neg ebx
test ebx, ebx
mov edi, esi
ja 0x47b48d
jb 0x47b477
test esi, esi
ja 0x47b484
push 0x4b2878
lea ecx, [ebp + 0x68]
call fcn.00448401
test ebx, ebx
ja 0x47b48d
cmp esi, 1
jb 0x47b504
mov eax, dword [ebp + 0x2c]
mov esi, dword [ebp + 0x68]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 4]
call fcn.004483ea
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push ebx
push edi
call fcn.0049cc90
push ecx
push 0x4b997c
push esi
mov dword [ebp + 0x3c], ebx
mov edi, eax
mov dword [ebp - 0x50], edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push esi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc ebx
push ebx
push dword [ebp - 4]
lea eax, [esi + eax*2]
push eax
call fcn.0040542c
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.00439cfd
mov ebx, dword [ebp - 0x50]
test ebx, ebx
ja 0x47b49a
jb 0x47b504
cmp edi, 1
jae 0x47b49a
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x18]
call fcn.004483ea
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call fcn.00448401
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push dword [ebp - 0x18]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
lea ecx, [ebp - 0x18]
jmp 0x47b5c8
mov eax, dword [ebp + 0x54]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp + 0xc], 0
mov byte [ebp - 0x14], 0
je 0x47b598
cmp word [eax], 0x23
jne 0x47b55c
mov cl, byte [eax]
inc eax
inc eax
mov byte [ebp + 0xc], cl
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.0043c486
mov edx, dword [ebp + 0x54]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x47b583
cmp cx, 0x66
je 0x47b583
cmp cx, 0x67
jne 0x47b588
mov cl, byte [edx]
mov byte [ebp - 0x14], cl
cmp eax, ebx
jle 0x47b598
cmp dword [ebp + 0x78], ebx
jge 0x47b598
mov byte [ebp + 0xc], 0
mov dword [ebp + 0x78], ebx
push dword [ebp - 0x14]
fldz
lea eax, [ebp - 0x28]
push dword [ebp + 0xc]
push dword [ebp + 0x78]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp + 0x5c]
fstp qword [esp]
push eax
call fcn.0048c6fe
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.0044842f
lea ecx, [ebp - 0x28]
call fcn.00439cfd
push dword [ebp + 0x68]
call fcn.0040fed5
pop ecx
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp + 0x40]
mov esi, eax
mov eax, dword [ebp + 8]
lea ebx, [eax + ecx]
inc esi
lea eax, [esi + ebx + 1]
push eax
lea ecx, [ebp + 0x64]
call fcn.0043fddf
mov eax, dword [ebp + 0x64]
add ebx, ebx
cmp dword [ebp + 0x40], 0
lea edi, [ebx + eax + 2]
je 0x47b617
push 8
push str.txt
push eax
call fcn.00413203
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x47b637
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x64]
push 6
add eax, eax
add ecx, eax
push 0x4b9968
push ecx
call fcn.00413203
add esp, 0xc
mov eax, dword [ebp + 0x64]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.0040542c
mov eax, dword [ebp + 0x4c]
add esp, 0xc
cmp word [eax], 0
je 0x47b684
mov eax, dword [ebp]
cmp word [eax], 0
je 0x47b669
mov ecx, dword [ebp + 0x58]
push edi
push eax
call fcn.0043f62b
lea ecx, [ebp + 0x68]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
mov edi, dword [ebp + 0x4c]
push 2
pop esi
jmp 0x47ad57
lea ecx, [ebp + 0x68]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
mov eax, dword [ebp + 0x10]
xor esi, esi
cmp word [eax], si
je 0x47b6b5
mov ecx, dword [ebp + 0x58]
push edi
push eax
call fcn.0043f62b
push 0x4c9c14
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x47b6f2
push 0x4c9c14
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x20]
or eax, dword [ebp + 0x24]
mov dword [ebp + 0x78], esi
je 0x47b6dd
push 0xffffffffffffffff
push dword [ebp - 0x2c]
lea ecx, [ebp + 0x78]
call fcn.0043febe
mov eax, dword [ebp + 0x78]
jmp 0x47b6e0
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x58]
push esi
push eax
call fcn.00475f10
lea ecx, [ebp + 0x78]
call fcn.00439cfd
cmp dword [ebp + 0x1c], esi
jle 0x47b759
lea ecx, [ebp - 8]
call fcn.00439cfd
lea ecx, [ebp + 0x64]
call fcn.00439cfd
mov edi, dword [ebp + 0x1c]
push dword [ebp + 0x48]
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x30]
dec edi
push eax
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x10], eax
call fcn.0043caf6
push dword [ebp + 0x30]
mov ebx, dword [ebp + 0x14]
push dword [ebp - 0x40]
push ebx
call fcn.0043cb55
mov eax, dword [ebp + 0x18]
add dword [ebp + 0x48], eax
add esp, 0x18
add dword [ebp + 0x30], eax
push 2
pop esi
jmp 0x47ad28
fld qword [ebp + 0x5c]
fstp qword [eax]
fld qword [ebp + 0x5c]
call fcn.0049ad34
mov esi, eax
mov ebx, edx
jmp 0x47b309
mov esi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
lea ecx, [ebp - 8]
call fcn.00439cfd
lea ecx, [ebp + 0x64]
call fcn.00439cfd
lea ecx, [ebp + 4]
call fcn.00439cfd
lea ecx, [ebp + 0x44]
call fcn.00439cfd
lea ecx, [ebp - 0x34]
call fcn.00439cfd
lea ecx, [ebp - 0x44]
call fcn.00439cfd
lea ecx, [ebp + 0x50]
call fcn.00439cfd
lea ecx, [ebp + 0x28]
call fcn.00439cfd
pop edi
mov eax, esi
pop esi
mov edx, ebx
pop ebx
add ebp, 0x70
leave
ret 8