Function at 0x49253e
Capabilities:
Parse credit card information

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xd4
or dword [ebp + 0x24], 0xffffffff
push ebx
push esi
push edi
xor edi, edi
xor ebx, ebx
lea eax, [ebp + 0x78]
inc ebx
push eax
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x20], edi
mov dword [ebp + 0x30], edi
mov dword [ebp + 0x18], edi
mov dword [ebp + 4], ebx
call fcn.0043fe57
pop ecx
mov esi, 0x4c6a64
push esi
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x14], edi
call fcn.004505eb
push esi
lea ecx, [ebp - 0x44]
call fcn.004505eb
push esi
lea ecx, [ebp - 0x40]
call fcn.004505eb
fldz
mov eax, dword [ebp + 0x78]
fstp qword [ebp - 0x64]
cmp word [eax], 0x2d
mov dword [ebp + 0x40], edi
mov dword [ebp + 0x28], edi
mov dword [ebp - 0xc], edi
mov dword [ebp + 0x48], edi
mov dword [ebp + 0x1c], edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], edi
jne 0x492776
push 4
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push str._txt
call fcn.004486ba
add esp, 0xc
test al, al
je 0x4925d9
mov dword [ebp + 0x28], esi
jmp 0x49272a
push 3
lea eax, [ebp + 0x78]
push eax
push 0x4d2a0c
call fcn.004486ba
add esp, 0xc
test al, al
je 0x4925fc
mov dword [ebp - 0xc], 3
jmp 0x49272a
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4cc76c
call fcn.004486ba
add esp, 0xc
test al, al
je 0x49261f
mov dword [ebp + 0x40], 0xa3
jmp 0x49272a
push esi
lea eax, [ebp + 0x78]
push eax
push str._gui
call fcn.004486ba
add esp, 0xc
test al, al
je 0x49263d
mov dword [ebp + 0x48], ebx
jmp 0x49272a
push 6
lea eax, [ebp + 0x78]
push eax
push str._base
call fcn.004486ba
add esp, 0xc
test al, al
je 0x492689
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x75
jne 0x49266f
add dword [ebp + 0x78], 2
mov dword [ebp + 0x40], 0xa3
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x1c], 0xa
call fcn.00453e89
pop ecx
jmp 0x492733
push 5
lea eax, [ebp + 0x78]
push eax
push 0x4d29fc
call fcn.004486ba
add esp, 0xc
test al, al
je 0x4926c5
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.00453c1f
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00449899
add esp, 0x10
jmp 0x492734
push 2
lea eax, [ebp + 0x78]
push eax
push 0x4d01c8
call fcn.004486ba
add esp, 0xc
test al, al
je 0x492741
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405c24
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405c24
mov esi, dword [ebp + 0x20]
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x18], esi
call fcn.00405c24
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405c24
add esp, 0x20
cmp dword [ebp + 4], edi
jg 0x492721
mov dword [ebp + 4], ebx
mov eax, dword [ebp + 0x30]
sub eax, esi
inc eax
mov dword [ebp + 0x24], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
je 0x4925b8
cmp dword [ebp + 0x48], edi
je 0x492776
push str.27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.004505eb
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x3c]
call fcn.004236b4
cdq
mov esi, eax
mov edi, edx
lea ecx, [ebp + 0x7c]
jmp 0x493521
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x23
jne 0x492788
or dword [ebp + 0x40], 0x23
jmp 0x492791
cmp ax, 0x24
jne 0x492795
mov dword [ebp + 0x40], edi
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
mov esi, dword [ebp + 0x78]
cmp word [esi], di
pop ecx
jne 0x4927ae
xor esi, esi
jmp 0x493526
push esi
call fcn.004111a0
pop ecx
push esi
lea ecx, [ebp + 0x30]
call fcn.004505eb
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x30]
call fcn.004465d3
mov esi, dword [ebp + 0x30]
mov ebx, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x3b
push esi
mov dword [ebp + 0x78], esi
call ebx
cmp eax, edi
mov dword [ebp + 0x48], eax
je 0x4927ec
mov word [eax], di
mov edx, esi
call fcn.004461ab
test al, al
jne 0x49282f
push 0x3d
push esi
call ebx
cmp eax, edi
je 0x49282f
cmp word [eax + 2], 0x3d
je 0x492817
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x492817
cmp cx, 0x3c
jne 0x492819
xor eax, eax
cmp eax, edi
je 0x49282f
push 0x3d
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004494ac
add esp, 0xc
push dword [ebp + 0x2c]
lea ecx, [ebp + 0x64]
call fcn.004505eb
mov ecx, dword [ebp + 0x3c]
cmp byte [ecx + 0x92], 0
jne 0x49285d
test byte [ecx + 9], 0xf
jne 0x49285d
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x64]
call fcn.00459284
jmp 0x49286c
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x64]
call fcn.00457f62
lea ecx, [ebp + 0x64]
call fcn.0043fe25
mov eax, dword [ebp + 0x48]
cmp eax, edi
je 0x492880
mov word [eax], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
jne 0x49288d
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
mov eax, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x78]
xor esi, esi
cmp dword [ebp + 0x24], esi
pop ecx
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x48], esi
mov dword [ebp - 0x30], esi
mov dword [ebp + 0x10], esi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x28], eax
mov dword [ebp], esi
mov dword [ebp - 0x1c], 1
jle 0x492971
cmp word [eax], 0x3f
jne 0x492931
lea ecx, [eax + 2]
xor eax, eax
mov ax, word [ecx]
push eax
call fcn.00414d24
add esp, 4
test al, al
je 0x492931
lea eax, [ebp]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x60], ecx
call fcn.00449a66
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
cmp word [ecx], 0x7e
push 2
pop edi
jne 0x492908
mov eax, dword [ebp]
add ecx, edi
mov dword [ebp + 0x60], ecx
mov dword [ebp - 0x1c], eax
xor eax, eax
mov ax, word [ecx]
push eax
call fcn.004461db
add esp, 4
test al, al
je 0x49291f
add ecx, edi
mov dword [ebp + 0x60], ecx
cmp word [ecx], 0x3f
je 0x492934
sub ecx, edi
mov dword [ebp + 0x60], ecx
mov word [ecx], 0x3f
jmp 0x492934
push 2
pop edi
mov eax, dword [ebp + 0x60]
push eax
mov dword [ebp - 0x28], eax
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 + 0x48]
call fcn.004465d3
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x30], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x10], eax
jmp 0x4934b0
push 2
pop edi
lea ecx, [ebp + 0x5c]
call fcn.0044658e
lea ecx, [ebp - 0x18]
call fcn.0044658e
mov ecx, dword [ebp + 0x28]
add ecx, ecx
mov eax, 0x4d29c8
sub eax, ecx
push 0x4e3d84
mov dword [ebp - 0x5c], eax
mov dword [ebp + 0x64], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0x10], eax
mov byte [ebp + 0x6f], 0
mov edx, ebx
xor eax, eax
jmp 0x4929c9
cmp ax, 0x3b
je 0x4929d3
push eax
call fcn.0040fb2a
add esp, 4
test al, al
jne 0x4929d3
add ebx, edi
mov dword [ebp + 0x64], ebx
mov ax, word [ebx]
cmp ax, si
jne 0x4929b1
jmp 0x4929e5
mov word [ebx], si
lea eax, [ebp + 0x64]
add ebx, edi
push eax
mov dword [ebp + 0x64], ebx
call fcn.0043fe57
pop ecx
mov ecx, dword [ebp + 0x3c]
cmp byte [ecx + 0x92], 0
jne 0x492a05
test byte [ecx + 9], 0xf
jne 0x492a05
push esi
push esi
lea eax, [ebp + 0x14]
push eax
push edx
call fcn.00459284
jmp 0x492a11
push esi
push esi
lea eax, [ebp + 0x14]
push eax
push edx
call fcn.00457f62
mov esi, dword [ebp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [eax + eax + 4]
push eax
lea ecx, [ebp + 0x44]
call fcn.004465ac
mov edx, dword [ebp + 0x44]
and dword [ebp + 0x50], 0
mov eax, edx
xor ecx, ecx
jmp 0x492d94
cmp cx, 0x41
jb 0x492a4c
cmp cx, 0x5a
ja 0x492a4c
add ecx, 0x20
jmp 0x492d05
cmp cx, 0xff21
jb 0x492a65
cmp cx, 0xff3a
ja 0x492a65
add ecx, 0x140
jmp 0x492d05
cmp cx, 0xff41
jb 0x492a7e
cmp cx, 0xff5a
ja 0x492a7e
add ecx, 0x120
jmp 0x492d05
cmp cx, 0xff10
jb 0x492a8c
cmp cx, 0xff19
jbe 0x492a73
cmp cx, 0xff0b
jne 0x492a9d
mov word [eax], 0x2b
jmp 0x492d90
cmp cx, 0xff0d
je 0x492d8b
cmp cx, 0x2014
je 0x492d8b
cmp cx, 0xd7
je 0x492d84
cmp cx, 0xff0a
je 0x492d84
cmp cx, 0xf7
je 0x492d7d
cmp cx, 0xff0f
je 0x492d7d
cmp cx, 0x2215
je 0x492d7d
cmp cx, 0xff05
je 0x492d76
cmp cx, 0xfe6a
je 0x492d76
cmp cx, 0xff06
jne 0x492b11
mov word [eax], 0x26
jmp 0x492d90
cmp cx, 0xff20
je 0x492d6f
cmp cx, 0xfe6b
je 0x492d6f
cmp cx, 0xff3e
jne 0x492b38
mov word [eax], 0x5e
jmp 0x492d90
cmp cx, 0xff1d
je 0x492d14
cmp cx, 0xfe66
je 0x492d14
cmp cx, 0xff03
jne 0x492b5f
mov word [eax], 0x23
jmp 0x492d90
cmp cx, 0xff08
je 0x492d68
cmp cx, 0xfe59
je 0x492d68
cmp cx, 0xfe5d
je 0x492d68
cmp cx, 0x3014
je 0x492d68
cmp cx, 0xff09
je 0x492d61
cmp cx, 0xfe5a
je 0x492d61
cmp cx, 0xfe5e
je 0x492d61
cmp cx, 0x3015
je 0x492d61
cmp cx, 0xff3b
je 0x492d5a
cmp cx, 0x3010
je 0x492d5a
cmp cx, 0xff3d
je 0x492d53
cmp cx, 0x3011
je 0x492d53
cmp cx, 0xff5b
je 0x492d4c
cmp cx, 0xfe5b
je 0x492d4c
cmp cx, 0xff5d
je 0x492d45
cmp cx, 0xfe5c
je 0x492d45
cmp cx, 0x300a
je 0x492d3e
cmp cx, 0x3008
je 0x492d3e
cmp cx, 0xff1c
je 0x492d3e
cmp cx, 0x300b
je 0x492d37
cmp cx, 0x3009
je 0x492d37
cmp cx, 0xff1e
je 0x492d37
cmp cx, 0xff0c
jne 0x492c62
mov word [eax], 0x2c
jmp 0x492d90
cmp cx, 0xff0e
je 0x492d30
cmp cx, 0x3002
je 0x492d30
cmp cx, 0xff1b
jne 0x492c89
mov word [eax], 0x3b
jmp 0x492d90
cmp cx, 0x3000
jne 0x492c9a
mov word [eax], 0x20
jmp 0x492d90
cmp cx, 0xff5e
jne 0x492cab
mov word [eax], 0x7e
jmp 0x492d90
cmp cx, 0xff01
je 0x492d29
cmp cx, 0xfe57
je 0x492d29
cmp cx, 0xa7
je 0x492d22
cmp cx, 0xff5c
je 0x492d22
cmp cx, 0x7c
je 0x492d22
cmp cx, 0x2223
je 0x492d22
cmp cx, 0xffe4
je 0x492d22
cmp cx, 0x2264
je 0x492d1b
cmp cx, 0x2266
je 0x492d1b
cmp cx, 0x226f
je 0x492d1b
cmp cx, 0x2265
je 0x492d0d
cmp cx, 0x2267
je 0x492d0d
cmp cx, 0x226e
je 0x492d0d
mov word [eax], cx
jmp 0x492d90
mov word [eax], 0x3e
add eax, edi
mov word [eax], 0x3d
jmp 0x492d90
mov word [eax], 0x3c
jmp 0x492d12
mov word [eax], 0x7c
jmp 0x492d90
mov word [eax], 0x21
jmp 0x492d90
mov word [eax], 0x2e
jmp 0x492d90
mov word [eax], 0x3e
jmp 0x492d90
mov word [eax], 0x3c
jmp 0x492d90
mov word [eax], 0x7d
jmp 0x492d90
mov word [eax], 0x7b
jmp 0x492d90
mov word [eax], 0x5d
jmp 0x492d90
mov word [eax], 0x5b
jmp 0x492d90
mov word [eax], 0x29
jmp 0x492d90
mov word [eax], 0x28
jmp 0x492d90
mov word [eax], 0x40
jmp 0x492d90
mov word [eax], 0x25
jmp 0x492d90
mov word [eax], 0x2f
jmp 0x492d90
mov word [eax], 0x2a
jmp 0x492d90
mov word [eax], 0x2d
add eax, edi
add esi, edi
mov cx, word [esi]
test cx, cx
jne 0x492a38
and word [eax], cx
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.0043fe57
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
cmp ax, 0x23
pop ecx
mov dword [ebp + 0x38], 0x4c6a64
jne 0x492dd2
mov eax, dword [ebp + 0x40]
or eax, 0x23
mov dword [ebp - 0x10], eax
add esi, edi
jmp 0x492dde
cmp ax, 0x24
jne 0x492dde
add esi, edi
and dword [ebp - 0x10], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x492dee
add ecx, edi
cmp word [ecx], 0x26
je 0x492de6
mov ax, word [ecx]
call fcn.004446b4
test al, al
je 0x492e35
add ecx, edi
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.004446b4
test al, al
jne 0x492dfa
cmp dx, 0x30
jb 0x492e1b
cmp dx, 0x39
jbe 0x492dfa
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.0043fe57
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x492e35
mov dword [ebp + 0x50], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x492e4a
mov eax, dword [ebp + 0x50]
and word [eax], 0
mov dword [ebp + 0x38], esi
lea esi, [ebx + 2]
jmp 0x492e59
mov eax, dword [ebp + 0x64]
cmp word [eax], 0
jne 0x492e59
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x38], eax
mov eax, dword [ebp - 0x18]
xor ebx, ebx
mov word [eax], bx
mov eax, dword [ebp + 0x5c]
push 0x23
push esi
mov word [eax], bx
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x34], eax
je 0x492e7d
mov word [eax], bx
add dword [ebp + 0x34], edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
dec eax
lea edx, [esi + eax*2]
mov cx, word [edx]
cmp cx, 0x2b
je 0x492ee0
cmp cx, 0x2d
je 0x492ee0
cmp cx, 0x2a
je 0x492ee0
cmp cx, 0x2f
je 0x492ee0
cmp cx, 0x25
je 0x492ee0
cmp cx, 0x5e
je 0x492ee0
cmp cx, 0x40
je 0x492ee0
cmp cx, 0x26
je 0x492ee0
cmp cx, 0x7c
je 0x492ee0
cmp cx, 0x3d
je 0x492ed3
cmp cx, 0x3e
je 0x492ed3
cmp cx, 0x3c
jne 0x492ee3
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x492ee3
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.004465ac
mov word [esi - 2], 0x20
mov word [esi - 2], bx
push esi
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
call fcn.0044778f
test eax, eax
pop ecx
jge 0x492f1b
or dword [ebp + 0xc], 0xffffffff
cmp word [ebp - 0x10], bx
mov dword [ebp + 8], 0x80070057
jne 0x492f47
jmp 0x492f9a
cmp word [ebp - 0x10], 0x23
lea eax, [ebp + 0x6f]
push eax
push esi
jb 0x492f7f
call fcn.0045b61b
cmp byte [ebp + 0x6f], 0
mov esi, eax
movsx eax, byte [ebp + 0x6f]
mov dword [ebp + 0x58], edx
cdq
pop ecx
pop ecx
mov dword [ebp + 0x54], esi
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
je 0x492f53
mov esi, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x58], eax
cmp dword [ebp + 0x7c], ebx
je 0x49305d
mov edi, dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x44]
call fcn.0043fe25
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x493506
call fcn.0045b5e0
fstp qword [ebp + 0x4c]
cmp byte [ebp + 0x6f], 0
movsx eax, byte [ebp + 0x6f]
cdq
pop ecx
pop ecx
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
je 0x492fa0
fld qword [ebp - 0x64]
fstp qword [ebp + 0x4c]
cmp dword [ebp + 0x7c], ebx
jne 0x4934e7
cmp dword [ebp + 0x1c], 1
jle 0x4931cc
fld qword [ebp + 0x4c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x4c9b78]
fnstsw ax
test ah, 5
jp 0x492fd3
fld qword [ebp + 0x4c]
mov byte [ebp + 0x7b], 1
fchs
fstp qword [ebp + 0x4c]
push 0x66
fldz
xor esi, esi
push esi
push esi
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [ebp - 0x20]
fld qword [ebp + 0x4c]
fstp qword [esp]
push eax
call fcn.004a0f76
mov ebx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ebx]
xor ecx, ecx
push edx
call fcn.00414d24
add esp, 0x24
jmp 0x49303a
movzx eax, dx
sub eax, 0x30
push 0
cdq
push 0xa
mov edi, eax
push esi
mov eax, edx
push ecx
mov dword [ebp + 0x50], eax
call fcn.004b4630
add edi, eax
mov eax, dword [ebp + 0x50]
adc eax, edx
inc ebx
inc ebx
xor edx, edx
mov dx, word [ebx]
mov ecx, edi
mov esi, eax
push edx
call fcn.00414d24
add esp, 4
test al, al
jne 0x493006
cmp byte [ebp + 0x7b], al
je 0x49304a
neg ecx
adc esi, 0
neg esi
mov dword [ebp + 0x54], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x58], esi
call fcn.0043fe25
push 2
pop edi
xor ebx, ebx
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3f
je 0x49331d
mov ecx, dword [ebp + 0x1c]
cmp ecx, 1
jg 0x49309a
cmp word [ebp - 0x10], 0x23
mov eax, str._I64u
ja 0x493083
mov eax, str._I64d
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
call fcn.004a1252
add esp, 0x10
jmp 0x493260
cmp ecx, edi
mov eax, 0x4c6a64
mov dword [ebp + 0x78], eax
jne 0x4930af
mov dword [ebp + 0x78], 0x4d29b8
jmp 0x4930c9
cmp ecx, 8
jne 0x4930bd
mov dword [ebp + 0x78], 0x4d29b0
jmp 0x4930c9
cmp ecx, 0x10
jne 0x4930c9
mov dword [ebp + 0x78], 0x4d29a8
cmp word [ebp - 0x10], 0x23
mov dword [ebp + 0x50], eax
ja 0x4930f8
cmp dword [ebp + 0x58], ebx
jg 0x4930f8
jl 0x4930df
cmp dword [ebp + 0x54], ebx
jae 0x4930f8
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x58]
neg eax
adc ecx, ebx
neg ecx
mov dword [ebp + 0x50], 0x4d02cc
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x58], ecx
mov ebx, dword [ebp + 0x58]
test ebx, ebx
mov edi, dword [ebp + 0x54]
ja 0x49311e
jb 0x493108
test edi, edi
ja 0x493115
push 0x4ca8f4
lea ecx, [ebp + 0x68]
call fcn.0045066c
test ebx, ebx
ja 0x49311e
cmp edi, 1
jb 0x493197
mov eax, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x68]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 4]
call fcn.0045063c
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push ebx
push edi
call fcn.004b69e0
push ecx
push 0x4d29a0
push esi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0xc
push dword [ebp - 4]
call edi
push esi
mov ebx, eax
call edi
inc ebx
push ebx
push dword [ebp - 4]
lea eax, [esi + eax*2]
push eax
call fcn.00405c0c
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.0043fe25
mov ebx, dword [ebp - 0x54]
test ebx, ebx
mov edi, dword [ebp - 0x58]
ja 0x49312b
jb 0x493197
cmp edi, 1
jae 0x49312b
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x24]
call fcn.0045063c
push dword [ebp + 0x50]
lea ecx, [ebp + 0x68]
call fcn.0045066c
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.004465fa
push dword [ebp - 0x24]
lea ecx, [ebp + 0x68]
call fcn.004465fa
lea ecx, [ebp - 0x24]
jmp 0x49325b
mov eax, dword [ebp + 0x34]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp - 8], 0
mov byte [ebp - 0x2c], 0
je 0x49322b
cmp word [eax], 0x23
jne 0x4931ef
mov cl, byte [eax]
add eax, edi
mov byte [ebp - 8], cl
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x78]
push eax
lea eax, [ebp + 0x34]
push eax
call fcn.004429d6
mov edx, dword [ebp + 0x34]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x493216
cmp cx, 0x66
je 0x493216
cmp cx, 0x67
jne 0x49321b
mov cl, byte [edx]
mov byte [ebp - 0x2c], cl
cmp eax, ebx
jle 0x49322b
cmp dword [ebp + 0x78], ebx
jge 0x49322b
mov byte [ebp - 8], 0
mov dword [ebp + 0x78], ebx
push dword [ebp - 0x2c]
fldz
lea eax, [ebp - 0x3c]
push dword [ebp - 8]
push dword [ebp + 0x78]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp + 0x4c]
fstp qword [esp]
push eax
call fcn.004a0f76
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.0045069a
lea ecx, [ebp - 0x3c]
call fcn.0043fe25
push dword [ebp + 0x68]
call fcn.004111a0
pop ecx
push dword [ebp + 0x68]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [ebp + 0x28]
mov esi, eax
mov eax, dword [ebp - 0xc]
lea ebx, [eax + ecx]
inc esi
lea eax, [ebx + esi + 1]
push eax
lea ecx, [ebp + 0x5c]
call fcn.004465d3
mov eax, dword [ebp + 0x5c]
add ebx, ebx
cmp dword [ebp + 0x28], 0
lea edi, [ebx + eax + 2]
je 0x4932aa
push 8
push str.txt
push eax
call fcn.00414839
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x4932ca
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x5c]
push 6
add eax, eax
add eax, ecx
push 0x4d298c
push eax
call fcn.00414839
add esp, 0xc
mov eax, dword [ebp + 0x5c]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.00405c0c
mov eax, dword [ebp + 0x64]
add esp, 0xc
cmp word [eax], 0
je 0x493428
mov eax, dword [ebp + 0x38]
cmp word [eax], 0
je 0x493300
mov ecx, dword [ebp + 0x3c]
push edi
push eax
call fcn.00445c44
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x44]
call fcn.0043fe25
mov ebx, dword [ebp + 0x64]
push 2
xor esi, esi
pop edi
jmp 0x4929a1
add eax, edi
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x60], eax
push 0x3f
lea eax, [ebp + 0x78]
call fcn.00414c4e
pop ecx
mov ecx, dword [ebp + 0x78]
cmp word [ecx], bx
jne 0x493358
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x44]
call fcn.0043fe25
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x49349b
mov eax, dword [ebp]
mov dword [ebp + 0x50], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp + 0x64], eax
mov esi, ecx
add ecx, edi
xor eax, eax
mov ax, word [ecx]
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x38], ebx
push eax
call fcn.00414d24
add esp, 4
test al, al
je 0x493392
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00449a66
pop ecx
pop ecx
mov ecx, dword [ebp + 0x78]
mov ax, word [ecx]
cmp ax, bx
je 0x4933a5
cmp ax, 0x7e
je 0x4933a5
add ecx, edi
mov dword [ebp + 0x78], ecx
cmp word [ecx], 0x7e
jne 0x4933b6
mov eax, dword [ebp + 0x50]
add ecx, edi
mov dword [ebp + 0x78], ecx
mov dword [ebp + 0x64], eax
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00449a66
cmp dword [ebp + 0x64], 1
mov edi, dword [ebp + 0x38]
pop ecx
pop ecx
jle 0x4933d2
imul edi, dword [ebp + 0x64]
mov bx, word [esi]
mov ecx, dword [ebp + 0x3c]
xor eax, eax
push eax
push 0xffffffffffffffff
push eax
push dword [ebp + 0x60]
mov word [esi], ax
call fcn.00411019
test eax, eax
mov word [esi], bx
jne 0x493402
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x44]
call fcn.0043fe25
jmp 0x49344c
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x10]
sub eax, edi
cmp eax, dword [ebp + 0x64]
jle 0x493412
mov eax, dword [ebp + 0x64]
test eax, eax
jle 0x4933f0
push eax
lea eax, [ebp + 0x54]
push eax
add ecx, edi
push ecx
call fcn.00414839
add esp, 0xc
jmp 0x4933f0
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x44]
call fcn.0043fe25
mov eax, dword [ebp + 0x60]
xor esi, esi
cmp word [eax], si
je 0x493459
mov ecx, dword [ebp + 0x3c]
push edi
push eax
call fcn.00445c44
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x493496
push 0x4e3d84
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
mov dword [ebp + 0x78], esi
je 0x493481
push 0xffffffffffffffff
push dword [ebp - 0x5c]
lea ecx, [ebp + 0x78]
call fcn.004466b2
mov eax, dword [ebp + 0x78]
jmp 0x493484
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x3c]
push esi
push eax
call fcn.0048f803
lea ecx, [ebp + 0x78]
call fcn.0043fe25
push 2
pop edi
xor ebx, ebx
cmp dword [ebp + 0x24], ebx
jle 0x493500
lea ecx, [ebp - 0x18]
call fcn.0043fe25
lea ecx, [ebp + 0x5c]
call fcn.0043fe25
push dword [ebp + 0x20]
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x28]
dec dword [ebp + 0x24]
push eax
mov dword [ebp + 0x60], eax
call fcn.004430c1
push dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
push dword [ebp - 0x50]
push ebx
call fcn.00443120
mov eax, dword [ebp + 4]
add dword [ebp + 0x20], eax
add dword [ebp + 0x18], eax
add esp, 0x18
xor esi, esi
jmp 0x492974
mov eax, dword [ebp + 0x7c]
fld qword [ebp + 0x4c]
fstp qword [eax]
fld qword [ebp + 0x4c]
call fcn.004b4b58
mov esi, eax
mov edi, edx
jmp 0x492f5f
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
call fcn.0043fe25
lea ecx, [ebp + 0x5c]
call fcn.0043fe25
lea ecx, [ebp + 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x30]
call fcn.0043fe25
lea ecx, [ebp - 0x40]
call fcn.0043fe25
lea ecx, [ebp - 0x44]
call fcn.0043fe25
lea ecx, [ebp + 0x2c]
call fcn.0043fe25
lea ecx, [ebp + 0x14]
call fcn.0043fe25
mov edx, edi
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8