Function at 0x48dcf3
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xcc
or dword [ebp + 0x38], 0xffffffff
push ebx
push esi
push edi
xor ebx, ebx
xor edi, edi
lea eax, [ebp + 0x78]
inc edi
push eax
mov dword [ebp + 0x5c], ecx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0xc], edi
call fcn.0043e611
pop ecx
mov esi, 0x4c0a1c
push esi
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x10], ebx
call fcn.0044e66d
push esi
lea ecx, [ebp - 0x3c]
call fcn.0044e66d
push esi
lea ecx, [ebp - 0x48]
call fcn.0044e66d
fldz
mov eax, dword [ebp + 0x78]
fstp qword [ebp - 0x54]
cmp word [eax], 0x2d
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x44], ebx
mov dword [ebp + 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
jne 0x48df1e
push 4
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push str._txt
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48dd8b
mov dword [ebp + 0x24], esi
jmp 0x48dde3
push 3
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4cc5d4
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48dda9
mov dword [ebp - 0xc], esi
jmp 0x48dde3
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c6614
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48ddc9
mov dword [ebp + 0x54], 0xa3
jmp 0x48dde3
push 4
lea eax, [ebp + 0x78]
push eax
push str._gui
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48ddf2
mov dword [ebp + 0x44], edi
lea eax, [ebp + 0x78]
push eax
call fcn.0043e611
pop ecx
jmp 0x48dedc
push 6
lea eax, [ebp + 0x78]
push eax
push str._base
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48de3b
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x75
jne 0x48de24
add dword [ebp + 0x78], 2
mov dword [ebp + 0x54], 0xa3
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x34], 0xa
call fcn.00451cdf
pop ecx
jmp 0x48ddec
push 5
lea eax, [ebp + 0x78]
push eax
push str._err
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48de77
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.00451a75
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00447f0a
add esp, 0x10
jmp 0x48dedc
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c9f10
call fcn.00446ed8
add esp, 0xc
test al, al
je 0x48dee9
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405ba5
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405ba5
mov esi, dword [ebp + 0x28]
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x20], esi
call fcn.00451cdf
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00451cdf
add esp, 0x20
cmp dword [ebp + 0xc], ebx
jg 0x48ded3
mov dword [ebp + 0xc], edi
mov eax, dword [ebp + 0x3c]
sub eax, esi
inc eax
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
je 0x48dd6d
cmp dword [ebp + 0x44], ebx
je 0x48df1e
push str.27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.0044e66d
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.00444e9e
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.004221d9
cdq
mov esi, eax
mov edi, edx
lea ecx, [ebp + 0x7c]
jmp 0x48eb28
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x23
jne 0x48df30
or dword [ebp + 0x54], 0x23
jmp 0x48df39
cmp ax, 0x24
jne 0x48df3d
mov dword [ebp + 0x54], ebx
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043e611
mov esi, dword [ebp + 0x78]
cmp word [esi], bx
pop ecx
jne 0x48df58
xor esi, esi
xor edi, edi
jmp 0x48eb2d
push esi
call fcn.00410ed4
pop ecx
push esi
lea ecx, [ebp + 0x3c]
call fcn.0044e66d
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x3c]
call fcn.00444e77
mov esi, dword [ebp + 0x3c]
push 0x3b
push esi
mov dword [ebp + 0x78], esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebx
je 0x48df93
mov word [edi], bx
mov edx, esi
call fcn.00444a98
test al, al
jne 0x48dfda
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
je 0x48dfda
cmp word [eax + 2], 0x3d
je 0x48dfc2
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x48dfc2
cmp cx, 0x3c
jne 0x48dfc4
xor eax, eax
cmp eax, ebx
je 0x48dfda
push 0x3d
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00447c46
add esp, 0xc
push dword [ebp + 0x48]
lea ecx, [ebp + 0x60]
call fcn.0044e66d
mov ecx, dword [ebp + 0x5c]
cmp byte [ecx + 0x92], 0
jne 0x48e008
test byte [ecx + 9], 0xf
jne 0x48e008
push 1
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x60]
call fcn.0045654f
jmp 0x48e017
push 1
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x60]
call fcn.0045522d
lea ecx, [ebp + 0x60]
call fcn.0043e679
cmp edi, ebx
je 0x48e028
mov word [edi], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
push 2
pop esi
jne 0x48e037
add dword [ebp + 0x78], esi
lea eax, [ebp + 0x78]
push eax
call fcn.0043e611
mov eax, dword [ebp + 0x48]
mov ebx, dword [ebp + 0x78]
xor edi, edi
cmp dword [ebp + 0x38], edi
pop ecx
mov dword [ebp + 8], eax
mov dword [ebp + 0x44], edi
mov dword [ebp - 0x10], edi
mov dword [ebp + 0x14], edi
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], ebx
jle 0x48e095
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
call edi
mov esi, eax
push ebx
add esi, 0x191
call edi
add eax, 0x641
add eax, esi
push eax
lea ecx, [ebp + 0x44]
call fcn.00444e77
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x10], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x14], eax
jmp 0x48ea9c
lea ecx, [ebp + 0x64]
call fcn.00444e32
lea ecx, [ebp - 4]
call fcn.00444e32
mov ecx, dword [ebp + 0x24]
add ecx, ecx
mov eax, 0x4cc590
sub eax, ecx
push 0x4dcd58
mov dword [ebp - 0x30], eax
mov dword [ebp + 0x4c], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x54]
mov dword [ebp + 0x40], eax
mov byte [ebp + 0x6f], 0
mov edx, ebx
xor eax, eax
jmp 0x48e0ea
cmp ax, 0x3b
je 0x48e0f4
push eax
call fcn.0043e5fa
add esp, 4
test al, al
jne 0x48e0f4
add ebx, esi
mov dword [ebp + 0x4c], ebx
mov ax, word [ebx]
cmp ax, di
jne 0x48e0d2
jmp 0x48e106
mov word [ebx], di
lea eax, [ebp + 0x4c]
add ebx, esi
push eax
mov dword [ebp + 0x4c], ebx
call fcn.0043e611
pop ecx
mov eax, dword [ebp + 0x5c]
cmp byte [eax + 0x92], 0
jne 0x48e129
test byte [eax + 9], 0xf
jne 0x48e129
mov ecx, dword [ebp + 0x5c]
push edi
push edi
lea eax, [ebp + 0x10]
push eax
push edx
call fcn.0045654f
jmp 0x48e138
mov ecx, dword [ebp + 0x5c]
push edi
push edi
lea eax, [ebp + 0x10]
push eax
push edx
call fcn.0045522d
mov ebx, dword [ebp + 0x10]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 4]
push eax
lea ecx, [ebp + 0x60]
call fcn.00444e50
mov edx, dword [ebp + 0x60]
mov dword [ebp + 0x58], edi
mov eax, edx
xor ecx, ecx
jmp 0x48e4ba
cmp cx, 0x41
jb 0x48e172
cmp cx, 0x5a
ja 0x48e172
add ecx, 0x20
jmp 0x48e42b
cmp cx, 0xff21
jb 0x48e18b
cmp cx, 0xff3a
ja 0x48e18b
add ecx, 0x140
jmp 0x48e42b
cmp cx, 0xff41
jb 0x48e1a4
cmp cx, 0xff5a
ja 0x48e1a4
add ecx, 0x120
jmp 0x48e42b
cmp cx, 0xff10
jb 0x48e1b2
cmp cx, 0xff19
jbe 0x48e199
cmp cx, 0xff0b
jne 0x48e1c3
mov word [eax], 0x2b
jmp 0x48e4b6
cmp cx, 0xff0d
je 0x48e4b1
cmp cx, 0x2014
je 0x48e4b1
cmp cx, 0xd7
je 0x48e4aa
cmp cx, 0xff0a
je 0x48e4aa
cmp cx, 0xf7
je 0x48e4a3
cmp cx, 0xff0f
je 0x48e4a3
cmp cx, 0x2215
je 0x48e4a3
cmp cx, 0xff05
je 0x48e49c
cmp cx, 0xfe6a
je 0x48e49c
cmp cx, 0xff06
jne 0x48e237
mov word [eax], 0x26
jmp 0x48e4b6
cmp cx, 0xff20
je 0x48e495
cmp cx, 0xfe6b
je 0x48e495
cmp cx, 0xff3e
jne 0x48e25e
mov word [eax], 0x5e
jmp 0x48e4b6
cmp cx, 0xff1d
je 0x48e43a
cmp cx, 0xfe66
je 0x48e43a
cmp cx, 0xff03
jne 0x48e285
mov word [eax], 0x23
jmp 0x48e4b6
cmp cx, 0xff08
je 0x48e48e
cmp cx, 0xfe59
je 0x48e48e
cmp cx, 0xfe5d
je 0x48e48e
cmp cx, 0x3014
je 0x48e48e
cmp cx, 0xff09
je 0x48e487
cmp cx, 0xfe5a
je 0x48e487
cmp cx, 0xfe5e
je 0x48e487
cmp cx, 0x3015
je 0x48e487
cmp cx, 0xff3b
je 0x48e480
cmp cx, 0x3010
je 0x48e480
cmp cx, 0xff3d
je 0x48e479
cmp cx, 0x3011
je 0x48e479
cmp cx, 0xff5b
je 0x48e472
cmp cx, 0xfe5b
je 0x48e472
cmp cx, 0xff5d
je 0x48e46b
cmp cx, 0xfe5c
je 0x48e46b
cmp cx, 0x300a
je 0x48e464
cmp cx, 0x3008
je 0x48e464
cmp cx, 0xff1c
je 0x48e464
cmp cx, 0x300b
je 0x48e45d
cmp cx, 0x3009
je 0x48e45d
cmp cx, 0xff1e
je 0x48e45d
cmp cx, 0xff0c
jne 0x48e388
mov word [eax], 0x2c
jmp 0x48e4b6
cmp cx, 0xff0e
je 0x48e456
cmp cx, 0x3002
je 0x48e456
cmp cx, 0xff1b
jne 0x48e3af
mov word [eax], 0x3b
jmp 0x48e4b6
cmp cx, 0x3000
jne 0x48e3c0
mov word [eax], 0x20
jmp 0x48e4b6
cmp cx, 0xff5e
jne 0x48e3d1
mov word [eax], 0x7e
jmp 0x48e4b6
cmp cx, 0xff01
je 0x48e44f
cmp cx, 0xfe57
je 0x48e44f
cmp cx, 0xa7
je 0x48e448
cmp cx, 0xff5c
je 0x48e448
cmp cx, 0x7c
je 0x48e448
cmp cx, 0x2223
je 0x48e448
cmp cx, 0xffe4
je 0x48e448
cmp cx, 0x2264
je 0x48e441
cmp cx, 0x2266
je 0x48e441
cmp cx, 0x226f
je 0x48e441
cmp cx, 0x2265
je 0x48e433
cmp cx, 0x2267
je 0x48e433
cmp cx, 0x226e
je 0x48e433
mov word [eax], cx
jmp 0x48e4b6
mov word [eax], 0x3e
add eax, esi
mov word [eax], 0x3d
jmp 0x48e4b6
mov word [eax], 0x3c
jmp 0x48e438
mov word [eax], 0x7c
jmp 0x48e4b6
mov word [eax], 0x21
jmp 0x48e4b6
mov word [eax], 0x2e
jmp 0x48e4b6
mov word [eax], 0x3e
jmp 0x48e4b6
mov word [eax], 0x3c
jmp 0x48e4b6
mov word [eax], 0x7d
jmp 0x48e4b6
mov word [eax], 0x7b
jmp 0x48e4b6
mov word [eax], 0x5d
jmp 0x48e4b6
mov word [eax], 0x5b
jmp 0x48e4b6
mov word [eax], 0x29
jmp 0x48e4b6
mov word [eax], 0x28
jmp 0x48e4b6
mov word [eax], 0x40
jmp 0x48e4b6
mov word [eax], 0x25
jmp 0x48e4b6
mov word [eax], 0x2f
jmp 0x48e4b6
mov word [eax], 0x2a
jmp 0x48e4b6
mov word [eax], 0x2d
add eax, esi
add ebx, esi
mov cx, word [ebx]
cmp cx, di
jne 0x48e15e
and word [eax], 0
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.0043e611
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
cmp ax, 0x23
mov edi, 0x4c0a1c
pop ecx
mov dword [ebp - 8], edi
jne 0x48e4fa
mov eax, dword [ebp + 0x54]
or eax, 0x23
inc esi
mov dword [ebp + 0x40], eax
inc esi
jmp 0x48e506
cmp ax, 0x24
jne 0x48e506
inc esi
inc esi
and dword [ebp + 0x40], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x48e516
inc ecx
inc ecx
cmp word [ecx], 0x26
je 0x48e50e
mov ax, word [ecx]
call fcn.00442da1
test al, al
je 0x48e55d
inc ecx
inc ecx
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.00442da1
test al, al
jne 0x48e522
cmp dx, 0x30
jb 0x48e543
cmp dx, 0x39
jbe 0x48e522
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.0043e611
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x48e55d
mov dword [ebp + 0x58], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x48e572
mov eax, dword [ebp + 0x58]
and word [eax], 0
mov dword [ebp - 8], esi
lea esi, [ebx + 2]
jmp 0x48e581
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0
jne 0x48e581
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 4]
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 + 0x50], eax
je 0x48e5a6
mov word [eax], bx
add dword [ebp + 0x50], 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 0x48e609
cmp cx, 0x2d
je 0x48e609
cmp cx, 0x2a
je 0x48e609
cmp cx, 0x2f
je 0x48e609
cmp cx, 0x25
je 0x48e609
cmp cx, 0x5e
je 0x48e609
cmp cx, 0x40
je 0x48e609
cmp cx, 0x26
je 0x48e609
cmp cx, 0x7c
je 0x48e609
cmp cx, 0x3d
je 0x48e5fc
cmp cx, 0x3e
je 0x48e5fc
cmp cx, 0x3c
jne 0x48e60c
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x48e60c
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.00444e50
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call fcn.00445fad
test eax, eax
pop ecx
jge 0x48e63e
or dword [ebp + 0x1c], 0xffffffff
cmp word [ebp + 0x40], bx
mov dword [ebp + 0x18], 0x80070057
jne 0x48e669
jmp 0x48e6b9
cmp word [ebp + 0x40], 0x23
lea eax, [ebp + 0x6f]
push eax
push esi
jb 0x48e69e
call fcn.0045854f
cmp byte [ebp + 0x6f], 0
mov esi, eax
movsx eax, byte [ebp + 0x6f]
mov ebx, edx
cdq
pop ecx
pop ecx
mov dword [ebp - 0x24], esi
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
je 0x48e672
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x24], esi
cmp dword [ebp + 0x7c], 0
je 0x48e781
lea ecx, [ebp + 0x68]
call fcn.0043e679
lea ecx, [ebp + 0x60]
call fcn.0043e679
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, ebx
jmp 0x48eb0d
call fcn.00458514
fstp qword [ebp + 0x2c]
cmp byte [ebp + 0x6f], 0
movsx eax, byte [ebp + 0x6f]
cdq
pop ecx
pop ecx
mov dword [ebp + 0x18], eax
mov dword [ebp + 0x1c], edx
je 0x48e6bf
fld qword [ebp - 0x54]
fstp qword [ebp + 0x2c]
cmp dword [ebp + 0x7c], ebx
jne 0x48ead6
cmp dword [ebp + 0x34], 1
jle 0x48e8cc
fld qword [ebp + 0x2c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x4c49d8]
fnstsw ax
test ah, 5
jp 0x48e6f2
fld qword [ebp + 0x2c]
mov byte [ebp + 0x7b], 1
fchs
fstp qword [ebp + 0x2c]
push 0x66
fldz
xor edi, edi
push edi
push edi
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0x18]
fld qword [ebp + 0x2c]
fstp qword [esp]
push eax
call fcn.0049b46f
mov esi, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [esi]
xor ebx, ebx
push ecx
call fcn.004ab8fe
add esp, 0x24
jmp 0x48e75d
movzx eax, cx
push 0
sub eax, 0x30
cdq
push 0xa
push edi
mov ecx, edx
push ebx
mov dword [ebp + 0x58], eax
mov dword [ebp + 0x30], ecx
call fcn.004adbb0
mov ecx, dword [ebp + 0x58]
add ecx, eax
mov eax, dword [ebp + 0x30]
adc eax, edx
inc esi
mov ebx, ecx
inc esi
xor ecx, ecx
mov cx, word [esi]
mov edi, eax
push ecx
call fcn.004ab8fe
add esp, 4
test al, al
jne 0x48e725
cmp byte [ebp + 0x7b], al
je 0x48e76d
neg ebx
adc edi, 0
neg edi
mov esi, ebx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], esi
mov ebx, edi
call fcn.0043e679
mov edi, 0x4c0a1c
mov eax, dword [ebp + 0x34]
cmp eax, 1
jg 0x48e7ad
cmp word [ebp + 0x40], 0x23
mov eax, str._I64u
ja 0x48e79a
mov eax, str._I64d
push eax
push ebx
push esi
push dword [ebp + 0x68]
call fcn.0049b74b
add esp, 0x10
jmp 0x48e960
cmp eax, 2
mov dword [ebp + 0x78], edi
jne 0x48e7be
mov dword [ebp + 0x78], 0x4cc580
jmp 0x48e7d8
cmp eax, 8
jne 0x48e7cc
mov dword [ebp + 0x78], 0x4cc578
jmp 0x48e7d8
cmp eax, 0x10
jne 0x48e7d8
mov dword [ebp + 0x78], 0x4cc570
cmp word [ebp + 0x40], 0x23
mov dword [ebp + 0x58], edi
ja 0x48e7fd
test ebx, ebx
jg 0x48e7fd
jl 0x48e7ec
test esi, esi
jae 0x48e7fd
neg esi
adc ebx, 0
mov dword [ebp + 0x58], 0x4ca010
neg ebx
mov dword [ebp - 0x24], esi
test ebx, ebx
mov edi, esi
ja 0x48e820
jb 0x48e809
test esi, esi
ja 0x48e816
push 0x4c4840
lea ecx, [ebp + 0x68]
call fcn.0044e6d5
test ebx, ebx
ja 0x48e820
cmp dword [ebp - 0x24], 1
jb 0x48e897
mov eax, dword [ebp + 0x34]
mov esi, dword [ebp + 0x68]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp + 4]
call fcn.0044e6be
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push ebx
push edi
call fcn.004aff60
push ecx
push 0x4cc568
push esi
mov dword [ebp + 0x30], ebx
mov edi, eax
mov dword [ebp - 0x58], 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.00405b32
add esp, 0xc
lea ecx, [ebp + 4]
call fcn.0043e679
mov ebx, dword [ebp - 0x58]
test ebx, ebx
ja 0x48e82d
jb 0x48e897
cmp edi, 1
jae 0x48e82d
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0044e6be
push dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.0044e6d5
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.00444e9e
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x68]
call fcn.00444e9e
lea ecx, [ebp - 0x1c]
jmp 0x48e95b
mov eax, dword [ebp + 0x50]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp], 0
mov byte [ebp - 0x14], 0
je 0x48e92b
cmp word [eax], 0x23
jne 0x48e8ef
mov cl, byte [eax]
inc eax
inc eax
mov byte [ebp], cl
mov dword [ebp + 0x50], eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x50]
push eax
call fcn.00441162
mov edx, dword [ebp + 0x50]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x48e916
cmp cx, 0x66
je 0x48e916
cmp cx, 0x67
jne 0x48e91b
mov cl, byte [edx]
mov byte [ebp - 0x14], cl
cmp eax, ebx
jle 0x48e92b
cmp dword [ebp + 0x78], ebx
jge 0x48e92b
mov byte [ebp], 0
mov dword [ebp + 0x78], ebx
push dword [ebp - 0x14]
fldz
lea eax, [ebp - 0x4c]
push dword [ebp]
push dword [ebp + 0x78]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp + 0x2c]
fstp qword [esp]
push eax
call fcn.0049b46f
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.0044e703
lea ecx, [ebp - 0x4c]
call fcn.0043e679
push dword [ebp + 0x68]
call fcn.00410ed4
pop ecx
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp + 0x24]
mov esi, eax
mov eax, dword [ebp - 0xc]
lea ebx, [eax + ecx]
inc esi
lea eax, [esi + ebx + 1]
push eax
lea ecx, [ebp + 0x64]
call fcn.00444e77
mov eax, dword [ebp + 0x64]
add ebx, ebx
cmp dword [ebp + 0x24], 0
lea edi, [ebx + eax + 2]
je 0x48e9aa
push 8
push str.txt
push eax
call fcn.00414409
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x48e9ca
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x64]
push 6
add eax, eax
add ecx, eax
push 0x4cc554
push ecx
call fcn.00414409
add esp, 0xc
mov eax, dword [ebp + 0x64]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.00405b32
mov eax, dword [ebp + 0x4c]
add esp, 0xc
cmp word [eax], 0
je 0x48ea19
mov eax, dword [ebp - 8]
cmp word [eax], 0
je 0x48e9fc
mov ecx, dword [ebp + 0x5c]
push edi
push eax
call fcn.0044451e
lea ecx, [ebp + 0x68]
call fcn.0043e679
lea ecx, [ebp + 0x60]
call fcn.0043e679
mov ebx, dword [ebp + 0x4c]
push 2
xor edi, edi
pop esi
jmp 0x48e0c2
lea ecx, [ebp + 0x68]
call fcn.0043e679
lea ecx, [ebp + 0x60]
call fcn.0043e679
mov eax, dword [ebp + 8]
xor esi, esi
cmp word [eax], si
je 0x48ea4a
mov ecx, dword [ebp + 0x5c]
push edi
push eax
call fcn.0044451e
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48ea87
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
mov dword [ebp + 0x78], esi
je 0x48ea72
push 0xffffffffffffffff
push dword [ebp - 0x30]
lea ecx, [ebp + 0x78]
call fcn.00444f56
mov eax, dword [ebp + 0x78]
jmp 0x48ea75
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x5c]
push esi
push eax
call fcn.0048acde
lea ecx, [ebp + 0x78]
call fcn.0043e679
cmp dword [ebp + 0x38], esi
jle 0x48eb07
lea ecx, [ebp - 4]
call fcn.0043e679
lea ecx, [ebp + 0x64]
call fcn.0043e679
push dword [ebp + 0x28]
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x34]
dec dword [ebp + 0x38]
push eax
mov dword [ebp + 8], eax
call fcn.004417ed
push dword [ebp + 0x20]
mov ebx, dword [ebp + 0x14]
push dword [ebp - 0x38]
push ebx
call fcn.0044184c
mov eax, dword [ebp + 0xc]
add dword [ebp + 0x28], eax
add dword [ebp + 0x20], eax
add esp, 0x18
push 2
pop esi
xor edi, edi
jmp 0x48e095
mov eax, dword [ebp + 0x7c]
fld qword [ebp + 0x2c]
fstp qword [eax]
fld qword [ebp + 0x2c]
call fcn.004ae0d8
lea ecx, [ebp + 0x68]
mov esi, eax
mov edi, edx
call fcn.0043e679
lea ecx, [ebp + 0x60]
call fcn.0043e679
push 0x4dcd58
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48eb0d
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
lea ecx, [ebp - 4]
call fcn.0043e679
lea ecx, [ebp + 0x64]
call fcn.0043e679
lea ecx, [ebp + 0x44]
call fcn.0043e679
lea ecx, [ebp + 0x3c]
call fcn.0043e679
lea ecx, [ebp - 0x48]
call fcn.0043e679
lea ecx, [ebp - 0x3c]
call fcn.0043e679
lea ecx, [ebp + 0x48]
call fcn.0043e679
lea ecx, [ebp + 0x10]
call fcn.0043e679
mov edx, edi
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8