Function at 0x48a70c
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.0043dae7
pop ecx
mov ebx, 0x4bca0c
push ebx
lea ecx, [ebp + 0x50]
mov dword [ebp + 0x28], esi
call fcn.0044cd74
push ebx
lea ecx, [ebp - 0x44]
call fcn.0044cd74
push ebx
lea ecx, [ebp - 0x34]
call fcn.0044cd74
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 0x48a90f
push 4
pop ebx
push ebx
push dword [ebp + 0x78]
push str._txt
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a7a3
mov dword [ebp + 0x40], ebx
jmp 0x48a7de
push 3
push dword [ebp + 0x78]
push 0x4c8214
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a7c6
add dword [ebp + 0x78], 6
mov dword [ebp + 8], 3
jmp 0x48a7e2
push ebx
push dword [ebp + 0x78]
push str._gui
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a7f1
xor esi, esi
inc esi
add dword [ebp + 0x78], 8
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
pop ecx
jmp 0x48a8ce
push 6
push dword [ebp + 0x78]
push str._base
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a822
add dword [ebp + 0x78], 0xc
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x2c], 0xa
call fcn.004503bc
pop ecx
jmp 0x48a7eb
push 5
push dword [ebp + 0x78]
push str._err
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a861
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.00450152
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00446ffa
add esp, 0x10
jmp 0x48a8ce
push 2
push dword [ebp + 0x78]
push 0x4c5c60
call fcn.0043eeea
add esp, 0xc
test al, al
je 0x48a8db
add dword [ebp + 0x78], ebx
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0040565a
lea eax, [ebp + 0x44]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0040565a
mov eax, dword [ebp + 0x48]
mov dword [ebp + 0x30], eax
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004503bc
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004503bc
add esp, 0x20
cmp dword [ebp + 0x18], 0
jg 0x48a8c4
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 0x48a789
test esi, esi
je 0x48a90f
push str.27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.0044cd74
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.00443fc7
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x58]
call fcn.00422e2f
cdq
mov esi, eax
mov ebx, edx
lea ecx, [ebp + 0x7c]
jmp 0x48b4da
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
push 0x23
pop ecx
cmp ax, cx
jne 0x48a922
mov dword [ebp - 0x10], ecx
jmp 0x48a928
cmp ax, 0x24
jne 0x48a92c
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
mov esi, dword [ebp + 0x78]
xor ebx, ebx
cmp word [esi], bx
pop ecx
jne 0x48a947
xor esi, esi
jmp 0x48b4df
push esi
call fcn.004108af
pop ecx
push esi
lea ecx, [ebp + 0x44]
call fcn.0044cd74
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x44]
call fcn.00443fa0
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 0x48a983
and word [ebx], 0
mov edx, esi
call fcn.00443bc1
test al, al
jne 0x48a9ca
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
je 0x48a9ca
cmp word [eax + 2], 0x3d
je 0x48a9b2
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x48a9b2
cmp cx, 0x3c
jne 0x48a9b4
xor eax, eax
test eax, eax
je 0x48a9ca
push 0x3d
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00446d58
add esp, 0xc
push dword [ebp + 0x50]
lea ecx, [ebp + 0x3c]
call fcn.0044cd74
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + 0x92], 0
jne 0x48a9f9
test byte [ecx + 9], 0xf
jne 0x48a9f9
push 1
push 0
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x3c]
call fcn.00454ae5
jmp 0x48aa09
push 1
push 0
lea eax, [ebp + 0x50]
push eax
push dword [ebp + 0x3c]
call fcn.004537c3
lea ecx, [ebp + 0x3c]
call fcn.0043db4f
test ebx, ebx
je 0x48aa1a
mov word [ebx], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
push 2
pop esi
jne 0x48aa29
add dword [ebp + 0x78], esi
lea eax, [ebp + 0x78]
push eax
call fcn.0043dae7
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 0x48aa88
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.00443fa0
mov eax, dword [ebp + 4]
mov dword [ebp - 0x1c], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x14], eax
jmp 0x48b46a
lea ecx, [ebp + 0x64]
call fcn.00443f5b
lea ecx, [ebp - 8]
call fcn.00443f5b
mov ecx, dword [ebp + 0x40]
add ecx, ecx
mov eax, 0x4c81d0
sub eax, ecx
mov edi, ebx
push 0x4d8d24
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 0x48aae2
cmp ax, 0x3b
je 0x48aaec
push eax
call fcn.00402d55
add esp, 4
test al, al
jne 0x48aaec
add edi, esi
mov dword [ebp + 0x4c], edi
mov ax, word [edi]
test ax, ax
jne 0x48aaca
jmp 0x48aaff
and word [edi], 0
lea eax, [ebp + 0x4c]
add edi, esi
push eax
mov dword [ebp + 0x4c], edi
call fcn.0043dae7
pop ecx
cmp byte [ebx + 0x92], 0
jne 0x48ab20
test byte [ebx + 9], 0xf
jne 0x48ab20
push 0
push 0
lea eax, [ebp + 0x28]
push eax
push edx
mov ecx, ebx
call fcn.00454ae5
jmp 0x48ab30
push 0
push 0
lea eax, [ebp + 0x28]
push eax
push edx
mov ecx, ebx
call fcn.004537c3
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.00443f79
mov edx, dword [ebp + 0x34]
and dword [ebp + 0x60], 0
mov eax, edx
xor ecx, ecx
jmp 0x48aeb3
cmp cx, 0x41
jb 0x48ab6b
cmp cx, 0x5a
ja 0x48ab6b
add ecx, 0x20
jmp 0x48ae24
cmp cx, 0xff21
jb 0x48ab84
cmp cx, 0xff3a
ja 0x48ab84
add ecx, 0x140
jmp 0x48ae24
cmp cx, 0xff41
jb 0x48ab9d
cmp cx, 0xff5a
ja 0x48ab9d
add ecx, 0x120
jmp 0x48ae24
cmp cx, 0xff10
jb 0x48abab
cmp cx, 0xff19
jbe 0x48ab92
cmp cx, 0xff0b
jne 0x48abbc
mov word [eax], 0x2b
jmp 0x48aeaf
cmp cx, 0xff0d
je 0x48aeaa
cmp cx, 0x2014
je 0x48aeaa
cmp cx, 0xd7
je 0x48aea3
cmp cx, 0xff0a
je 0x48aea3
cmp cx, 0xf7
je 0x48ae9c
cmp cx, 0xff0f
je 0x48ae9c
cmp cx, 0x2215
je 0x48ae9c
cmp cx, 0xff05
je 0x48ae95
cmp cx, 0xfe6a
je 0x48ae95
cmp cx, 0xff06
jne 0x48ac30
mov word [eax], 0x26
jmp 0x48aeaf
cmp cx, 0xff20
je 0x48ae8e
cmp cx, 0xfe6b
je 0x48ae8e
cmp cx, 0xff3e
jne 0x48ac57
mov word [eax], 0x5e
jmp 0x48aeaf
cmp cx, 0xff1d
je 0x48ae33
cmp cx, 0xfe66
je 0x48ae33
cmp cx, 0xff03
jne 0x48ac7e
mov word [eax], 0x23
jmp 0x48aeaf
cmp cx, 0xff08
je 0x48ae87
cmp cx, 0xfe59
je 0x48ae87
cmp cx, 0xfe5d
je 0x48ae87
cmp cx, 0x3014
je 0x48ae87
cmp cx, 0xff09
je 0x48ae80
cmp cx, 0xfe5a
je 0x48ae80
cmp cx, 0xfe5e
je 0x48ae80
cmp cx, 0x3015
je 0x48ae80
cmp cx, 0xff3b
je 0x48ae79
cmp cx, 0x3010
je 0x48ae79
cmp cx, 0xff3d
je 0x48ae72
cmp cx, 0x3011
je 0x48ae72
cmp cx, 0xff5b
je 0x48ae6b
cmp cx, 0xfe5b
je 0x48ae6b
cmp cx, 0xff5d
je 0x48ae64
cmp cx, 0xfe5c
je 0x48ae64
cmp cx, 0x300a
je 0x48ae5d
cmp cx, 0x3008
je 0x48ae5d
cmp cx, 0xff1c
je 0x48ae5d
cmp cx, 0x300b
je 0x48ae56
cmp cx, 0x3009
je 0x48ae56
cmp cx, 0xff1e
je 0x48ae56
cmp cx, 0xff0c
jne 0x48ad81
mov word [eax], 0x2c
jmp 0x48aeaf
cmp cx, 0xff0e
je 0x48ae4f
cmp cx, 0x3002
je 0x48ae4f
cmp cx, 0xff1b
jne 0x48ada8
mov word [eax], 0x3b
jmp 0x48aeaf
cmp cx, 0x3000
jne 0x48adb9
mov word [eax], 0x20
jmp 0x48aeaf
cmp cx, 0xff5e
jne 0x48adca
mov word [eax], 0x7e
jmp 0x48aeaf
cmp cx, 0xff01
je 0x48ae48
cmp cx, 0xfe57
je 0x48ae48
cmp cx, 0xa7
je 0x48ae41
cmp cx, 0xff5c
je 0x48ae41
cmp cx, 0x7c
je 0x48ae41
cmp cx, 0x2223
je 0x48ae41
cmp cx, 0xffe4
je 0x48ae41
cmp cx, 0x2264
je 0x48ae3a
cmp cx, 0x2266
je 0x48ae3a
cmp cx, 0x226f
je 0x48ae3a
cmp cx, 0x2265
je 0x48ae2c
cmp cx, 0x2267
je 0x48ae2c
cmp cx, 0x226e
je 0x48ae2c
mov word [eax], cx
jmp 0x48aeaf
mov word [eax], 0x3e
add eax, esi
mov word [eax], 0x3d
jmp 0x48aeaf
mov word [eax], 0x3c
jmp 0x48ae31
mov word [eax], 0x7c
jmp 0x48aeaf
mov word [eax], 0x21
jmp 0x48aeaf
mov word [eax], 0x2e
jmp 0x48aeaf
mov word [eax], 0x3e
jmp 0x48aeaf
mov word [eax], 0x3c
jmp 0x48aeaf
mov word [eax], 0x7d
jmp 0x48aeaf
mov word [eax], 0x7b
jmp 0x48aeaf
mov word [eax], 0x5d
jmp 0x48aeaf
mov word [eax], 0x5b
jmp 0x48aeaf
mov word [eax], 0x29
jmp 0x48aeaf
mov word [eax], 0x28
jmp 0x48aeaf
mov word [eax], 0x40
jmp 0x48aeaf
mov word [eax], 0x25
jmp 0x48aeaf
mov word [eax], 0x2f
jmp 0x48aeaf
mov word [eax], 0x2a
jmp 0x48aeaf
mov word [eax], 0x2d
add eax, esi
add edi, esi
mov cx, word [edi]
test cx, cx
jne 0x48ab57
and word [eax], cx
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.0043dae7
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
pop ecx
push 0x23
pop ecx
cmp ax, cx
mov edi, 0x4bca0c
mov dword [ebp], edi
jne 0x48aeee
inc esi
mov dword [ebp + 0x3c], ecx
inc esi
jmp 0x48aefa
cmp ax, 0x24
jne 0x48aefa
inc esi
inc esi
and dword [ebp + 0x3c], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x48af0a
inc ecx
inc ecx
cmp word [ecx], 0x26
je 0x48af02
mov ax, word [ecx]
call fcn.00442026
test al, al
je 0x48af51
inc ecx
inc ecx
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.00442026
test al, al
jne 0x48af16
cmp dx, 0x30
jb 0x48af37
cmp dx, 0x39
jbe 0x48af16
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.0043dae7
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x48af51
mov dword [ebp + 0x60], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x48af66
mov eax, dword [ebp + 0x60]
and word [eax], 0
mov dword [ebp], esi
lea esi, [ebx + 2]
jmp 0x48af75
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0
jne 0x48af75
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 0x48af9a
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 0x48affd
cmp cx, 0x2d
je 0x48affd
cmp cx, 0x2a
je 0x48affd
cmp cx, 0x2f
je 0x48affd
cmp cx, 0x25
je 0x48affd
cmp cx, 0x5e
je 0x48affd
cmp cx, 0x40
je 0x48affd
cmp cx, 0x26
je 0x48affd
cmp cx, 0x7c
je 0x48affd
cmp cx, 0x3d
je 0x48aff0
cmp cx, 0x3e
je 0x48aff0
cmp cx, 0x3c
jne 0x48b000
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x48b000
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.00443f79
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call fcn.004450f9
test eax, eax
pop ecx
jge 0x48b032
or dword [ebp + 0x24], 0xffffffff
cmp word [ebp + 0x3c], bx
mov dword [ebp + 0x20], 0x80070057
jne 0x48b059
jmp 0x48b0a4
cmp word [ebp + 0x3c], bx
lea eax, [ebp + 0x6f]
push eax
push esi
je 0x48b089
call fcn.00456ae5
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 0x48b05f
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
cmp dword [ebp + 0x7c], 0
je 0x48b16b
lea ecx, [ebp + 0x68]
call fcn.0043db4f
lea ecx, [ebp + 0x34]
call fcn.0043db4f
push 0x4d8d24
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48b4bf
call fcn.00456aaa
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 0x48b0aa
fld qword [ebp - 0x4c]
fstp qword [ebp + 0x5c]
mov eax, dword [ebp + 0x7c]
cmp eax, ebx
jne 0x48b4a3
cmp dword [ebp + 0x2c], 1
jle 0x48b299
fld qword [ebp + 0x5c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x4c0930]
fnstsw ax
test ah, 5
jp 0x48b0df
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.00497b8c
mov esi, dword [ebp - 0xc]
xor ecx, ecx
mov cx, word [esi]
xor ebx, ebx
push ecx
call fcn.004439f7
add esp, 0x24
jmp 0x48b14a
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.004aa130
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.004439f7
add esp, 4
test al, al
jne 0x48b112
cmp byte [ebp + 0x7b], al
je 0x48b15a
neg ebx
adc edi, 0
neg edi
mov esi, ebx
lea ecx, [ebp - 0xc]
mov ebx, edi
call fcn.0043db4f
mov edi, 0x4bca0c
mov eax, dword [ebp + 0x2c]
cmp eax, 1
jg 0x48b185
push ebx
push esi
push dword [ebp + 0x68]
call fcn.00497eb9
add esp, 0xc
jmp 0x48b32d
cmp eax, 2
mov dword [ebp + 0x78], edi
jne 0x48b196
mov dword [ebp + 0x78], 0x4c81c0
jmp 0x48b1b0
cmp eax, 8
jne 0x48b1a4
mov dword [ebp + 0x78], 0x4c81b8
jmp 0x48b1b0
cmp eax, 0x10
jne 0x48b1b0
mov dword [ebp + 0x78], 0x4c81b0
test ebx, ebx
mov dword [ebp + 0x60], edi
jg 0x48b1cb
jl 0x48b1bd
test esi, esi
jae 0x48b1cb
neg esi
adc ebx, 0
mov dword [ebp + 0x60], 0x4c5d60
neg ebx
test ebx, ebx
mov edi, esi
ja 0x48b1ed
jb 0x48b1d7
test esi, esi
ja 0x48b1e4
push 0x4c07a4
lea ecx, [ebp + 0x68]
call fcn.0044cddc
test ebx, ebx
ja 0x48b1ed
cmp esi, 1
jb 0x48b264
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.0044cdc5
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push ebx
push edi
call fcn.004ac490
push ecx
push 0x4c81a8
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.004055fd
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.0043db4f
mov ebx, dword [ebp - 0x50]
test ebx, ebx
ja 0x48b1fa
jb 0x48b264
cmp edi, 1
jae 0x48b1fa
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x18]
call fcn.0044cdc5
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call fcn.0044cddc
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.00443fc7
push dword [ebp - 0x18]
lea ecx, [ebp + 0x68]
call fcn.00443fc7
lea ecx, [ebp - 0x18]
jmp 0x48b328
mov eax, dword [ebp + 0x54]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp + 0xc], 0
mov byte [ebp - 0x14], 0
je 0x48b2f8
cmp word [eax], 0x23
jne 0x48b2bc
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.004404ef
mov edx, dword [ebp + 0x54]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x48b2e3
cmp cx, 0x66
je 0x48b2e3
cmp cx, 0x67
jne 0x48b2e8
mov cl, byte [edx]
mov byte [ebp - 0x14], cl
cmp eax, ebx
jle 0x48b2f8
cmp dword [ebp + 0x78], ebx
jge 0x48b2f8
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.00497b8c
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.0044ce0a
lea ecx, [ebp - 0x28]
call fcn.0043db4f
push dword [ebp + 0x68]
call fcn.004108af
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.00443fa0
mov eax, dword [ebp + 0x64]
add ebx, ebx
cmp dword [ebp + 0x40], 0
lea edi, [ebx + eax + 2]
je 0x48b377
push 8
push str.txt
push eax
call fcn.00413de4
add esp, 0xc
cmp dword [ebp + 8], 0
je 0x48b397
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x64]
push 6
add eax, eax
add ecx, eax
push 0x4c8194
push ecx
call fcn.00413de4
add esp, 0xc
mov eax, dword [ebp + 0x64]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.004055fd
mov eax, dword [ebp + 0x4c]
add esp, 0xc
cmp word [eax], 0
je 0x48b3e4
mov eax, dword [ebp]
cmp word [eax], 0
je 0x48b3c9
mov ecx, dword [ebp + 0x58]
push edi
push eax
call fcn.00443666
lea ecx, [ebp + 0x68]
call fcn.0043db4f
lea ecx, [ebp + 0x34]
call fcn.0043db4f
mov edi, dword [ebp + 0x4c]
push 2
pop esi
jmp 0x48aab7
lea ecx, [ebp + 0x68]
call fcn.0043db4f
lea ecx, [ebp + 0x34]
call fcn.0043db4f
mov eax, dword [ebp + 0x10]
xor esi, esi
cmp word [eax], si
je 0x48b415
mov ecx, dword [ebp + 0x58]
push edi
push eax
call fcn.00443666
push 0x4d8d24
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48b452
push 0x4d8d24
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x20]
or eax, dword [ebp + 0x24]
mov dword [ebp + 0x78], esi
je 0x48b43d
push 0xffffffffffffffff
push dword [ebp - 0x2c]
lea ecx, [ebp + 0x78]
call fcn.0044407f
mov eax, dword [ebp + 0x78]
jmp 0x48b440
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x58]
push esi
push eax
call fcn.00487718
lea ecx, [ebp + 0x78]
call fcn.0043db4f
cmp dword [ebp + 0x1c], esi
jle 0x48b4b9
lea ecx, [ebp - 8]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
call fcn.0043db4f
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.00440b7a
push dword [ebp + 0x30]
mov ebx, dword [ebp + 0x14]
push dword [ebp - 0x40]
push ebx
call fcn.00440bd9
mov eax, dword [ebp + 0x18]
add dword [ebp + 0x48], eax
add esp, 0x18
add dword [ebp + 0x30], eax
push 2
pop esi
jmp 0x48aa88
fld qword [ebp + 0x5c]
fstp qword [eax]
fld qword [ebp + 0x5c]
call fcn.004aa574
mov esi, eax
mov ebx, edx
jmp 0x48b069
mov esi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x24]
lea ecx, [ebp - 8]
call fcn.0043db4f
lea ecx, [ebp + 0x64]
call fcn.0043db4f
lea ecx, [ebp + 4]
call fcn.0043db4f
lea ecx, [ebp + 0x44]
call fcn.0043db4f
lea ecx, [ebp - 0x34]
call fcn.0043db4f
lea ecx, [ebp - 0x44]
call fcn.0043db4f
lea ecx, [ebp + 0x50]
call fcn.0043db4f
lea ecx, [ebp + 0x28]
call fcn.0043db4f
pop edi
mov eax, esi
pop esi
mov edx, ebx
pop ebx
add ebp, 0x70
leave
ret 8