Function at 0x48de7f
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.0043e7bd
pop ecx
mov esi, 0x4c1a3c
push esi
lea ecx, [ebp + 0x48]
mov dword [ebp + 0x10], ebx
call fcn.0044e827
push esi
lea ecx, [ebp - 0x3c]
call fcn.0044e827
push esi
lea ecx, [ebp - 0x48]
call fcn.0044e827
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 0x48e0aa
push 4
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push str._txt
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48df17
mov dword [ebp + 0x24], esi
jmp 0x48df6f
push 3
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push 0x4cd5ec
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48df35
mov dword [ebp - 0xc], esi
jmp 0x48df6f
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4c762c
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48df55
mov dword [ebp + 0x54], 0xa3
jmp 0x48df6f
push 4
lea eax, [ebp + 0x78]
push eax
push 0x4c6bec
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48df7e
mov dword [ebp + 0x44], edi
lea eax, [ebp + 0x78]
push eax
call fcn.0043e7bd
pop ecx
jmp 0x48e068
push 6
lea eax, [ebp + 0x78]
push eax
push str._base
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48dfc7
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x75
jne 0x48dfb0
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.00451e7f
pop ecx
jmp 0x48df78
push 5
lea eax, [ebp + 0x78]
push eax
push 0x4cd5dc
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48e003
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.00451c15
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004480f6
add esp, 0x10
jmp 0x48e068
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4caf28
call fcn.0044709f
add esp, 0xc
test al, al
je 0x48e075
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0047cd87
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0047cd87
mov esi, dword [ebp + 0x28]
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x20], esi
call fcn.00451e7f
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00451e7f
add esp, 0x20
cmp dword [ebp + 0xc], ebx
jg 0x48e05f
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 0x48def9
cmp dword [ebp + 0x44], ebx
je 0x48e0aa
push str.27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.0044e827
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.00444fd8
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.004223de
cdq
mov esi, eax
mov edi, edx
lea ecx, [ebp + 0x7c]
jmp 0x48ecb4
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x23
jne 0x48e0bc
or dword [ebp + 0x54], 0x23
jmp 0x48e0c5
cmp ax, 0x24
jne 0x48e0c9
mov dword [ebp + 0x54], ebx
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043e7bd
mov esi, dword [ebp + 0x78]
cmp word [esi], bx
pop ecx
jne 0x48e0e4
xor esi, esi
xor edi, edi
jmp 0x48ecb9
push esi
call fcn.0041101b
pop ecx
push esi
lea ecx, [ebp + 0x3c]
call fcn.0044e827
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x3c]
call fcn.00444fb1
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 0x48e11f
mov word [edi], bx
mov edx, esi
call fcn.00444bd2
test al, al
jne 0x48e166
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
je 0x48e166
cmp word [eax + 2], 0x3d
je 0x48e14e
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x48e14e
cmp cx, 0x3c
jne 0x48e150
xor eax, eax
cmp eax, ebx
je 0x48e166
push 0x3d
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00447e0d
add esp, 0xc
push dword [ebp + 0x48]
lea ecx, [ebp + 0x60]
call fcn.0044e827
mov ecx, dword [ebp + 0x5c]
cmp byte [ecx + 0x92], 0
jne 0x48e194
test byte [ecx + 9], 0xf
jne 0x48e194
push 1
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x60]
call fcn.004566ef
jmp 0x48e1a3
push 1
push ebx
lea eax, [ebp + 0x48]
push eax
push dword [ebp + 0x60]
call fcn.004553cd
lea ecx, [ebp + 0x60]
call fcn.0043e825
cmp edi, ebx
je 0x48e1b4
mov word [edi], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
push 2
pop esi
jne 0x48e1c3
add dword [ebp + 0x78], esi
lea eax, [ebp + 0x78]
push eax
call fcn.0043e7bd
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 0x48e221
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.00444fb1
mov eax, dword [ebp + 0x44]
mov dword [ebp - 0x10], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x14], eax
jmp 0x48ec28
lea ecx, [ebp + 0x64]
call fcn.00444f6c
lea ecx, [ebp - 4]
call fcn.00444f6c
mov ecx, dword [ebp + 0x24]
add ecx, ecx
mov eax, 0x4cd5a8
sub eax, ecx
push 0x4ddd50
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 0x48e276
cmp ax, 0x3b
je 0x48e280
push eax
call fcn.00402d65
add esp, 4
test al, al
jne 0x48e280
add ebx, esi
mov dword [ebp + 0x4c], ebx
mov ax, word [ebx]
cmp ax, di
jne 0x48e25e
jmp 0x48e292
mov word [ebx], di
lea eax, [ebp + 0x4c]
add ebx, esi
push eax
mov dword [ebp + 0x4c], ebx
call fcn.0043e7bd
pop ecx
mov eax, dword [ebp + 0x5c]
cmp byte [eax + 0x92], 0
jne 0x48e2b5
test byte [eax + 9], 0xf
jne 0x48e2b5
mov ecx, dword [ebp + 0x5c]
push edi
push edi
lea eax, [ebp + 0x10]
push eax
push edx
call fcn.004566ef
jmp 0x48e2c4
mov ecx, dword [ebp + 0x5c]
push edi
push edi
lea eax, [ebp + 0x10]
push eax
push edx
call fcn.004553cd
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.00444f8a
mov edx, dword [ebp + 0x60]
mov dword [ebp + 0x58], edi
mov eax, edx
xor ecx, ecx
jmp 0x48e646
cmp cx, 0x41
jb 0x48e2fe
cmp cx, 0x5a
ja 0x48e2fe
add ecx, 0x20
jmp 0x48e5b7
cmp cx, 0xff21
jb 0x48e317
cmp cx, 0xff3a
ja 0x48e317
add ecx, 0x140
jmp 0x48e5b7
cmp cx, 0xff41
jb 0x48e330
cmp cx, 0xff5a
ja 0x48e330
add ecx, 0x120
jmp 0x48e5b7
cmp cx, 0xff10
jb 0x48e33e
cmp cx, 0xff19
jbe 0x48e325
cmp cx, 0xff0b
jne 0x48e34f
mov word [eax], 0x2b
jmp 0x48e642
cmp cx, 0xff0d
je 0x48e63d
cmp cx, 0x2014
je 0x48e63d
cmp cx, 0xd7
je 0x48e636
cmp cx, 0xff0a
je 0x48e636
cmp cx, 0xf7
je 0x48e62f
cmp cx, 0xff0f
je 0x48e62f
cmp cx, 0x2215
je 0x48e62f
cmp cx, 0xff05
je 0x48e628
cmp cx, 0xfe6a
je 0x48e628
cmp cx, 0xff06
jne 0x48e3c3
mov word [eax], 0x26
jmp 0x48e642
cmp cx, 0xff20
je 0x48e621
cmp cx, 0xfe6b
je 0x48e621
cmp cx, 0xff3e
jne 0x48e3ea
mov word [eax], 0x5e
jmp 0x48e642
cmp cx, 0xff1d
je 0x48e5c6
cmp cx, 0xfe66
je 0x48e5c6
cmp cx, 0xff03
jne 0x48e411
mov word [eax], 0x23
jmp 0x48e642
cmp cx, 0xff08
je 0x48e61a
cmp cx, 0xfe59
je 0x48e61a
cmp cx, 0xfe5d
je 0x48e61a
cmp cx, 0x3014
je 0x48e61a
cmp cx, 0xff09
je 0x48e613
cmp cx, 0xfe5a
je 0x48e613
cmp cx, 0xfe5e
je 0x48e613
cmp cx, 0x3015
je 0x48e613
cmp cx, 0xff3b
je 0x48e60c
cmp cx, 0x3010
je 0x48e60c
cmp cx, 0xff3d
je 0x48e605
cmp cx, 0x3011
je 0x48e605
cmp cx, 0xff5b
je 0x48e5fe
cmp cx, 0xfe5b
je 0x48e5fe
cmp cx, 0xff5d
je 0x48e5f7
cmp cx, 0xfe5c
je 0x48e5f7
cmp cx, 0x300a
je 0x48e5f0
cmp cx, 0x3008
je 0x48e5f0
cmp cx, 0xff1c
je 0x48e5f0
cmp cx, 0x300b
je 0x48e5e9
cmp cx, 0x3009
je 0x48e5e9
cmp cx, 0xff1e
je 0x48e5e9
cmp cx, 0xff0c
jne 0x48e514
mov word [eax], 0x2c
jmp 0x48e642
cmp cx, 0xff0e
je 0x48e5e2
cmp cx, 0x3002
je 0x48e5e2
cmp cx, 0xff1b
jne 0x48e53b
mov word [eax], 0x3b
jmp 0x48e642
cmp cx, 0x3000
jne 0x48e54c
mov word [eax], 0x20
jmp 0x48e642
cmp cx, 0xff5e
jne 0x48e55d
mov word [eax], 0x7e
jmp 0x48e642
cmp cx, 0xff01
je 0x48e5db
cmp cx, 0xfe57
je 0x48e5db
cmp cx, 0xa7
je 0x48e5d4
cmp cx, 0xff5c
je 0x48e5d4
cmp cx, 0x7c
je 0x48e5d4
cmp cx, 0x2223
je 0x48e5d4
cmp cx, 0xffe4
je 0x48e5d4
cmp cx, 0x2264
je 0x48e5cd
cmp cx, 0x2266
je 0x48e5cd
cmp cx, 0x226f
je 0x48e5cd
cmp cx, 0x2265
je 0x48e5bf
cmp cx, 0x2267
je 0x48e5bf
cmp cx, 0x226e
je 0x48e5bf
mov word [eax], cx
jmp 0x48e642
mov word [eax], 0x3e
add eax, esi
mov word [eax], 0x3d
jmp 0x48e642
mov word [eax], 0x3c
jmp 0x48e5c4
mov word [eax], 0x7c
jmp 0x48e642
mov word [eax], 0x21
jmp 0x48e642
mov word [eax], 0x2e
jmp 0x48e642
mov word [eax], 0x3e
jmp 0x48e642
mov word [eax], 0x3c
jmp 0x48e642
mov word [eax], 0x7d
jmp 0x48e642
mov word [eax], 0x7b
jmp 0x48e642
mov word [eax], 0x5d
jmp 0x48e642
mov word [eax], 0x5b
jmp 0x48e642
mov word [eax], 0x29
jmp 0x48e642
mov word [eax], 0x28
jmp 0x48e642
mov word [eax], 0x40
jmp 0x48e642
mov word [eax], 0x25
jmp 0x48e642
mov word [eax], 0x2f
jmp 0x48e642
mov word [eax], 0x2a
jmp 0x48e642
mov word [eax], 0x2d
add eax, esi
add ebx, esi
mov cx, word [ebx]
cmp cx, di
jne 0x48e2ea
and word [eax], 0
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.0043e7bd
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
cmp ax, 0x23
mov edi, 0x4c1a3c
pop ecx
mov dword [ebp - 8], edi
jne 0x48e686
mov eax, dword [ebp + 0x54]
or eax, 0x23
inc esi
mov dword [ebp + 0x40], eax
inc esi
jmp 0x48e692
cmp ax, 0x24
jne 0x48e692
inc esi
inc esi
and dword [ebp + 0x40], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x48e6a2
inc ecx
inc ecx
cmp word [ecx], 0x26
je 0x48e69a
mov ax, word [ecx]
call fcn.00442f15
test al, al
je 0x48e6e9
inc ecx
inc ecx
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.00442f15
test al, al
jne 0x48e6ae
cmp dx, 0x30
jb 0x48e6cf
cmp dx, 0x39
jbe 0x48e6ae
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.0043e7bd
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x48e6e9
mov dword [ebp + 0x58], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x48e6fe
mov eax, dword [ebp + 0x58]
and word [eax], 0
mov dword [ebp - 8], esi
lea esi, [ebx + 2]
jmp 0x48e70d
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0
jne 0x48e70d
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 0x48e732
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 0x48e795
cmp cx, 0x2d
je 0x48e795
cmp cx, 0x2a
je 0x48e795
cmp cx, 0x2f
je 0x48e795
cmp cx, 0x25
je 0x48e795
cmp cx, 0x5e
je 0x48e795
cmp cx, 0x40
je 0x48e795
cmp cx, 0x26
je 0x48e795
cmp cx, 0x7c
je 0x48e795
cmp cx, 0x3d
je 0x48e788
cmp cx, 0x3e
je 0x48e788
cmp cx, 0x3c
jne 0x48e798
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x48e798
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.00444f8a
mov word [esi - 2], 0x20
push esi
mov word [esi - 2], bx
call fcn.00446174
test eax, eax
pop ecx
jge 0x48e7ca
or dword [ebp + 0x1c], 0xffffffff
cmp word [ebp + 0x40], bx
mov dword [ebp + 0x18], 0x80070057
jne 0x48e7f5
jmp 0x48e845
cmp word [ebp + 0x40], 0x23
lea eax, [ebp + 0x6f]
push eax
push esi
jb 0x48e82a
call fcn.004586bd
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 0x48e7fe
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x24], esi
cmp dword [ebp + 0x7c], 0
je 0x48e90d
lea ecx, [ebp + 0x68]
call fcn.0043e825
lea ecx, [ebp + 0x60]
call fcn.0043e825
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, ebx
jmp 0x48ec99
call fcn.00458682
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 0x48e84b
fld qword [ebp - 0x54]
fstp qword [ebp + 0x2c]
cmp dword [ebp + 0x7c], ebx
jne 0x48ec62
cmp dword [ebp + 0x34], 1
jle 0x48ea58
fld qword [ebp + 0x2c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x4c59f0]
fnstsw ax
test ah, 5
jp 0x48e87e
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.0049be91
mov esi, dword [ebp - 0x18]
xor ecx, ecx
mov cx, word [esi]
xor ebx, ebx
push ecx
call fcn.00414a48
add esp, 0x24
jmp 0x48e8e9
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.004ae930
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.00414a48
add esp, 4
test al, al
jne 0x48e8b1
cmp byte [ebp + 0x7b], al
je 0x48e8f9
neg ebx
adc edi, 0
neg edi
mov esi, ebx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x24], esi
mov ebx, edi
call fcn.0043e825
mov edi, 0x4c1a3c
mov eax, dword [ebp + 0x34]
cmp eax, 1
jg 0x48e939
cmp word [ebp + 0x40], 0x23
mov eax, str._I64u
ja 0x48e926
mov eax, str._I64d
push eax
push ebx
push esi
push dword [ebp + 0x68]
call fcn.0049c16d
add esp, 0x10
jmp 0x48eaec
cmp eax, 2
mov dword [ebp + 0x78], edi
jne 0x48e94a
mov dword [ebp + 0x78], 0x4cd598
jmp 0x48e964
cmp eax, 8
jne 0x48e958
mov dword [ebp + 0x78], 0x4cd590
jmp 0x48e964
cmp eax, 0x10
jne 0x48e964
mov dword [ebp + 0x78], 0x4cd588
cmp word [ebp + 0x40], 0x23
mov dword [ebp + 0x58], edi
ja 0x48e989
test ebx, ebx
jg 0x48e989
jl 0x48e978
test esi, esi
jae 0x48e989
neg esi
adc ebx, 0
mov dword [ebp + 0x58], 0x4cb028
neg ebx
mov dword [ebp - 0x24], esi
test ebx, ebx
mov edi, esi
ja 0x48e9ac
jb 0x48e995
test esi, esi
ja 0x48e9a2
push 0x4c5858
lea ecx, [ebp + 0x68]
call fcn.0044e88f
test ebx, ebx
ja 0x48e9ac
cmp dword [ebp - 0x24], 1
jb 0x48ea23
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.0044e878
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push ebx
push edi
call fcn.004b0ce0
push ecx
push 0x4cd580
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.00405b5e
add esp, 0xc
lea ecx, [ebp + 4]
call fcn.0043e825
mov ebx, dword [ebp - 0x58]
test ebx, ebx
ja 0x48e9b9
jb 0x48ea23
cmp edi, 1
jae 0x48e9b9
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x1c]
call fcn.0044e878
push dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.0044e88f
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.00444fd8
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x68]
call fcn.00444fd8
lea ecx, [ebp - 0x1c]
jmp 0x48eae7
mov eax, dword [ebp + 0x50]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp], 0
mov byte [ebp - 0x14], 0
je 0x48eab7
cmp word [eax], 0x23
jne 0x48ea7b
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.004412d1
mov edx, dword [ebp + 0x50]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x48eaa2
cmp cx, 0x66
je 0x48eaa2
cmp cx, 0x67
jne 0x48eaa7
mov cl, byte [edx]
mov byte [ebp - 0x14], cl
cmp eax, ebx
jle 0x48eab7
cmp dword [ebp + 0x78], ebx
jge 0x48eab7
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.0049be91
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.0044e8bd
lea ecx, [ebp - 0x4c]
call fcn.0043e825
push dword [ebp + 0x68]
call fcn.0041101b
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.00444fb1
mov eax, dword [ebp + 0x64]
add ebx, ebx
cmp dword [ebp + 0x24], 0
lea edi, [ebx + eax + 2]
je 0x48eb36
push 8
push str.txt
push eax
call fcn.004145c5
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x48eb56
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x64]
push 6
add eax, eax
add ecx, eax
push 0x4cd56c
push ecx
call fcn.004145c5
add esp, 0xc
mov eax, dword [ebp + 0x64]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.00405b5e
mov eax, dword [ebp + 0x4c]
add esp, 0xc
cmp word [eax], 0
je 0x48eba5
mov eax, dword [ebp - 8]
cmp word [eax], 0
je 0x48eb88
mov ecx, dword [ebp + 0x5c]
push edi
push eax
call fcn.00444692
lea ecx, [ebp + 0x68]
call fcn.0043e825
lea ecx, [ebp + 0x60]
call fcn.0043e825
mov ebx, dword [ebp + 0x4c]
push 2
xor edi, edi
pop esi
jmp 0x48e24e
lea ecx, [ebp + 0x68]
call fcn.0043e825
lea ecx, [ebp + 0x60]
call fcn.0043e825
mov eax, dword [ebp + 8]
xor esi, esi
cmp word [eax], si
je 0x48ebd6
mov ecx, dword [ebp + 0x5c]
push edi
push eax
call fcn.00444692
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48ec13
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 0x18]
or eax, dword [ebp + 0x1c]
mov dword [ebp + 0x78], esi
je 0x48ebfe
push 0xffffffffffffffff
push dword [ebp - 0x30]
lea ecx, [ebp + 0x78]
call fcn.00445090
mov eax, dword [ebp + 0x78]
jmp 0x48ec01
mov eax, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x5c]
push esi
push eax
call fcn.0048ae6a
lea ecx, [ebp + 0x78]
call fcn.0043e825
cmp dword [ebp + 0x38], esi
jle 0x48ec93
lea ecx, [ebp - 4]
call fcn.0043e825
lea ecx, [ebp + 0x64]
call fcn.0043e825
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.0044195c
push dword [ebp + 0x20]
mov ebx, dword [ebp + 0x14]
push dword [ebp - 0x38]
push ebx
call fcn.004419bb
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 0x48e221
mov eax, dword [ebp + 0x7c]
fld qword [ebp + 0x2c]
fstp qword [eax]
fld qword [ebp + 0x2c]
call fcn.004aee58
lea ecx, [ebp + 0x68]
mov esi, eax
mov edi, edx
call fcn.0043e825
lea ecx, [ebp + 0x60]
call fcn.0043e825
push 0x4ddd50
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x48ec99
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x1c]
lea ecx, [ebp - 4]
call fcn.0043e825
lea ecx, [ebp + 0x64]
call fcn.0043e825
lea ecx, [ebp + 0x44]
call fcn.0043e825
lea ecx, [ebp + 0x3c]
call fcn.0043e825
lea ecx, [ebp - 0x48]
call fcn.0043e825
lea ecx, [ebp - 0x3c]
call fcn.0043e825
lea ecx, [ebp + 0x48]
call fcn.0043e825
lea ecx, [ebp + 0x10]
call fcn.0043e825
mov edx, edi
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8