Function at 0x10092120
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.1003f9c4
pop ecx
mov esi, 0x100c6a64
push esi
lea ecx, [ebp + 0x2c]
mov dword [ebp + 0x14], edi
call fcn.100501eb
push esi
lea ecx, [ebp - 0x44]
call fcn.100501eb
push esi
lea ecx, [ebp - 0x40]
call fcn.100501eb
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 0x10092358
push 4
pop esi
push esi
lea eax, [ebp + 0x78]
push eax
push str._txt
call fcn.10048288
add esp, 0xc
test al, al
je 0x100921bb
mov dword [ebp + 0x28], esi
jmp 0x1009230c
push 3
lea eax, [ebp + 0x78]
push eax
push 0x100d2a7c
call fcn.10048288
add esp, 0xc
test al, al
je 0x100921de
mov dword [ebp - 0xc], 3
jmp 0x1009230c
push 2
lea eax, [ebp + 0x78]
push eax
push 0x100cc7a4
call fcn.10048288
add esp, 0xc
test al, al
je 0x10092201
mov dword [ebp + 0x40], 0xa3
jmp 0x1009230c
push esi
lea eax, [ebp + 0x78]
push eax
push str._gui
call fcn.10048288
add esp, 0xc
test al, al
je 0x1009221f
mov dword [ebp + 0x48], ebx
jmp 0x1009230c
push 6
lea eax, [ebp + 0x78]
push eax
push str._base
call fcn.10048288
add esp, 0xc
test al, al
je 0x1009226b
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
or ax, 0x20
cmp ax, 0x75
jne 0x10092251
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.10053a89
pop ecx
jmp 0x10092315
push 5
lea eax, [ebp + 0x78]
push eax
push 0x100d2a6c
call fcn.10048288
add esp, 0xc
test al, al
je 0x100922a7
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp + 0x10]
push eax
call fcn.1005381f
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.10049467
add esp, 0x10
jmp 0x10092316
push 2
lea eax, [ebp + 0x78]
push eax
push 0x100d0218
call fcn.10048288
add esp, 0xc
test al, al
je 0x10092323
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.1007ed98
lea eax, [ebp + 0x30]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.1007ed98
mov esi, dword [ebp + 0x20]
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x18], esi
call fcn.1007ed98
lea eax, [ebp + 4]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.1007ed98
add esp, 0x20
cmp dword [ebp + 4], edi
jg 0x10092303
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.1003f9c4
pop ecx
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2d
je 0x1009219a
cmp dword [ebp + 0x48], edi
je 0x10092358
push str._._27:INDATA
lea ecx, [ebp + 0x7c]
call fcn.100501eb
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.1004618f
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x3c]
call fcn.1002335d
cdq
mov esi, eax
mov edi, edx
lea ecx, [ebp + 0x7c]
jmp 0x10093103
mov eax, dword [ebp + 0x78]
mov ax, word [eax]
cmp ax, 0x23
jne 0x1009236a
or dword [ebp + 0x40], 0x23
jmp 0x10092373
cmp ax, 0x24
jne 0x10092377
mov dword [ebp + 0x40], edi
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.1003f9c4
mov esi, dword [ebp + 0x78]
cmp word [esi], di
pop ecx
jne 0x10092390
xor esi, esi
jmp 0x10093108
push esi
call fcn.10010e64
pop ecx
push esi
lea ecx, [ebp + 0x30]
call fcn.100501eb
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0xa
push eax
lea ecx, [ebp + 0x30]
call fcn.10046168
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 0x100923ce
mov word [eax], di
mov edx, esi
call fcn.10045d40
test al, al
jne 0x10092411
push 0x3d
push esi
call ebx
cmp eax, edi
je 0x10092411
cmp word [eax + 2], 0x3d
je 0x100923f9
mov cx, word [eax - 2]
cmp cx, 0x3e
je 0x100923f9
cmp cx, 0x3c
jne 0x100923fb
xor eax, eax
cmp eax, edi
je 0x10092411
push 0x3d
lea eax, [ebp + 0x2c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.1004907a
add esp, 0xc
push dword [ebp + 0x2c]
lea ecx, [ebp + 0x64]
call fcn.100501eb
mov ecx, dword [ebp + 0x3c]
cmp byte [ecx + 0x92], 0
jne 0x1009243f
test byte [ecx + 9], 0xf
jne 0x1009243f
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x64]
call fcn.10058e84
jmp 0x1009244e
push 1
push edi
lea eax, [ebp + 0x2c]
push eax
push dword [ebp + 0x64]
call fcn.10057b62
lea ecx, [ebp + 0x64]
call fcn.1003f96c
mov eax, dword [ebp + 0x48]
cmp eax, edi
je 0x10092462
mov word [eax], 0x3b
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
jne 0x1009246f
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x78]
push eax
call fcn.1003f9c4
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 0x10092553
cmp word [eax], 0x3f
jne 0x10092513
lea ecx, [eax + 2]
xor eax, eax
mov ax, word [ecx]
push eax
call fcn.10045b88
add esp, 4
test al, al
je 0x10092513
lea eax, [ebp]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x60], ecx
call fcn.10049634
pop ecx
pop ecx
mov ecx, dword [ebp + 0x60]
cmp word [ecx], 0x7e
push 2
pop edi
jne 0x100924ea
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.10045d70
add esp, 4
test al, al
je 0x10092501
add ecx, edi
mov dword [ebp + 0x60], ecx
cmp word [ecx], 0x3f
je 0x10092516
sub ecx, edi
mov dword [ebp + 0x60], ecx
mov word [ecx], 0x3f
jmp 0x10092516
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.10046168
mov eax, dword [ebp + 0x48]
mov dword [ebp - 0x30], eax
lea eax, [eax + esi*2]
mov dword [ebp + 0x10], eax
jmp 0x10093092
push 2
pop edi
lea ecx, [ebp + 0x5c]
call fcn.10046123
lea ecx, [ebp - 0x18]
call fcn.10046123
mov ecx, dword [ebp + 0x28]
add ecx, ecx
mov eax, 0x100d2a30
sub eax, ecx
push 0x100e3d7c
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 0x100925ab
cmp ax, 0x3b
je 0x100925b5
push eax
call fcn.1000f7ed
add esp, 4
test al, al
jne 0x100925b5
add ebx, edi
mov dword [ebp + 0x64], ebx
mov ax, word [ebx]
cmp ax, si
jne 0x10092593
jmp 0x100925c7
mov word [ebx], si
lea eax, [ebp + 0x64]
add ebx, edi
push eax
mov dword [ebp + 0x64], ebx
call fcn.1003f9c4
pop ecx
mov ecx, dword [ebp + 0x3c]
cmp byte [ecx + 0x92], 0
jne 0x100925e7
test byte [ecx + 9], 0xf
jne 0x100925e7
push esi
push esi
lea eax, [ebp + 0x14]
push eax
push edx
call fcn.10058e84
jmp 0x100925f3
push esi
push esi
lea eax, [ebp + 0x14]
push eax
push edx
call fcn.10057b62
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.10046141
mov edx, dword [ebp + 0x44]
and dword [ebp + 0x50], 0
mov eax, edx
xor ecx, ecx
jmp 0x10092976
cmp cx, 0x41
jb 0x1009262e
cmp cx, 0x5a
ja 0x1009262e
add ecx, 0x20
jmp 0x100928e7
cmp cx, 0xff21
jb 0x10092647
cmp cx, 0xff3a
ja 0x10092647
add ecx, 0x140
jmp 0x100928e7
cmp cx, 0xff41
jb 0x10092660
cmp cx, 0xff5a
ja 0x10092660
add ecx, 0x120
jmp 0x100928e7
cmp cx, 0xff10
jb 0x1009266e
cmp cx, 0xff19
jbe 0x10092655
cmp cx, 0xff0b
jne 0x1009267f
mov word [eax], 0x2b
jmp 0x10092972
cmp cx, 0xff0d
je 0x1009296d
cmp cx, 0x2014
je 0x1009296d
cmp cx, 0xd7
je 0x10092966
cmp cx, 0xff0a
je 0x10092966
cmp cx, 0xf7
je 0x1009295f
cmp cx, 0xff0f
je 0x1009295f
cmp cx, 0x2215
je 0x1009295f
cmp cx, 0xff05
je 0x10092958
cmp cx, 0xfe6a
je 0x10092958
cmp cx, 0xff06
jne 0x100926f3
mov word [eax], 0x26
jmp 0x10092972
cmp cx, 0xff20
je 0x10092951
cmp cx, 0xfe6b
je 0x10092951
cmp cx, 0xff3e
jne 0x1009271a
mov word [eax], 0x5e
jmp 0x10092972
cmp cx, 0xff1d
je 0x100928f6
cmp cx, 0xfe66
je 0x100928f6
cmp cx, 0xff03
jne 0x10092741
mov word [eax], 0x23
jmp 0x10092972
cmp cx, 0xff08
je 0x1009294a
cmp cx, 0xfe59
je 0x1009294a
cmp cx, 0xfe5d
je 0x1009294a
cmp cx, 0x3014
je 0x1009294a
cmp cx, 0xff09
je 0x10092943
cmp cx, 0xfe5a
je 0x10092943
cmp cx, 0xfe5e
je 0x10092943
cmp cx, 0x3015
je 0x10092943
cmp cx, 0xff3b
je 0x1009293c
cmp cx, 0x3010
je 0x1009293c
cmp cx, 0xff3d
je 0x10092935
cmp cx, 0x3011
je 0x10092935
cmp cx, 0xff5b
je 0x1009292e
cmp cx, 0xfe5b
je 0x1009292e
cmp cx, 0xff5d
je 0x10092927
cmp cx, 0xfe5c
je 0x10092927
cmp cx, 0x300a
je 0x10092920
cmp cx, 0x3008
je 0x10092920
cmp cx, 0xff1c
je 0x10092920
cmp cx, 0x300b
je 0x10092919
cmp cx, 0x3009
je 0x10092919
cmp cx, 0xff1e
je 0x10092919
cmp cx, 0xff0c
jne 0x10092844
mov word [eax], 0x2c
jmp 0x10092972
cmp cx, 0xff0e
je 0x10092912
cmp cx, 0x3002
je 0x10092912
cmp cx, 0xff1b
jne 0x1009286b
mov word [eax], 0x3b
jmp 0x10092972
cmp cx, 0x3000
jne 0x1009287c
mov word [eax], 0x20
jmp 0x10092972
cmp cx, 0xff5e
jne 0x1009288d
mov word [eax], 0x7e
jmp 0x10092972
cmp cx, 0xff01
je 0x1009290b
cmp cx, 0xfe57
je 0x1009290b
cmp cx, 0xa7
je 0x10092904
cmp cx, 0xff5c
je 0x10092904
cmp cx, 0x7c
je 0x10092904
cmp cx, 0x2223
je 0x10092904
cmp cx, 0xffe4
je 0x10092904
cmp cx, 0x2264
je 0x100928fd
cmp cx, 0x2266
je 0x100928fd
cmp cx, 0x226f
je 0x100928fd
cmp cx, 0x2265
je 0x100928ef
cmp cx, 0x2267
je 0x100928ef
cmp cx, 0x226e
je 0x100928ef
mov word [eax], cx
jmp 0x10092972
mov word [eax], 0x3e
add eax, edi
mov word [eax], 0x3d
jmp 0x10092972
mov word [eax], 0x3c
jmp 0x100928f4
mov word [eax], 0x7c
jmp 0x10092972
mov word [eax], 0x21
jmp 0x10092972
mov word [eax], 0x2e
jmp 0x10092972
mov word [eax], 0x3e
jmp 0x10092972
mov word [eax], 0x3c
jmp 0x10092972
mov word [eax], 0x7d
jmp 0x10092972
mov word [eax], 0x7b
jmp 0x10092972
mov word [eax], 0x5d
jmp 0x10092972
mov word [eax], 0x5b
jmp 0x10092972
mov word [eax], 0x29
jmp 0x10092972
mov word [eax], 0x28
jmp 0x10092972
mov word [eax], 0x40
jmp 0x10092972
mov word [eax], 0x25
jmp 0x10092972
mov word [eax], 0x2f
jmp 0x10092972
mov word [eax], 0x2a
jmp 0x10092972
mov word [eax], 0x2d
add eax, edi
add esi, edi
mov cx, word [esi]
test cx, cx
jne 0x1009261a
and word [eax], cx
mov ebx, eax
lea eax, [ebp + 0x78]
push eax
mov dword [ebp + 0x78], edx
call fcn.1003f9c4
mov esi, dword [ebp + 0x78]
mov ax, word [esi]
cmp ax, 0x23
pop ecx
mov dword [ebp + 0x38], 0x100c6a64
jne 0x100929b4
mov eax, dword [ebp + 0x40]
or eax, 0x23
mov dword [ebp - 0x10], eax
add esi, edi
jmp 0x100929c0
cmp ax, 0x24
jne 0x100929c0
add esi, edi
and dword [ebp - 0x10], 0
cmp word [esi], 0x26
mov ecx, esi
jne 0x100929d0
add ecx, edi
cmp word [ecx], 0x26
je 0x100929c8
mov ax, word [ecx]
call fcn.100441bc
test al, al
je 0x10092a17
add ecx, edi
xor edx, edx
mov dx, word [ecx]
mov dword [ebp + 0x78], ecx
mov eax, edx
call fcn.100441bc
test al, al
jne 0x100929dc
cmp dx, 0x30
jb 0x100929fd
cmp dx, 0x39
jbe 0x100929dc
lea eax, [ebp + 0x78]
push eax
mov edx, ecx
call fcn.1003f9c4
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x3d
pop ecx
jne 0x10092a17
mov dword [ebp + 0x50], edx
mov ebx, eax
cmp word [ebx], 0x3d
jne 0x10092a2c
mov eax, dword [ebp + 0x50]
and word [eax], 0
mov dword [ebp + 0x38], esi
lea esi, [ebx + 2]
jmp 0x10092a3b
mov eax, dword [ebp + 0x64]
cmp word [eax], 0
jne 0x10092a3b
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 0x10092a5f
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 0x10092ac2
cmp cx, 0x2d
je 0x10092ac2
cmp cx, 0x2a
je 0x10092ac2
cmp cx, 0x2f
je 0x10092ac2
cmp cx, 0x25
je 0x10092ac2
cmp cx, 0x5e
je 0x10092ac2
cmp cx, 0x40
je 0x10092ac2
cmp cx, 0x26
je 0x10092ac2
cmp cx, 0x7c
je 0x10092ac2
cmp cx, 0x3d
je 0x10092ab5
cmp cx, 0x3e
je 0x10092ab5
cmp cx, 0x3c
jne 0x10092ac5
mov word [edx + 2], 0x30
mov word [esi + eax*2 + 4], bx
jmp 0x10092ac5
mov word [edx], bx
push 0x64
lea ecx, [ebp + 0x68]
call fcn.10046141
mov word [esi - 2], 0x20
mov word [esi - 2], bx
push esi
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], ebx
call fcn.1004735d
test eax, eax
pop ecx
jge 0x10092afd
or dword [ebp + 0xc], 0xffffffff
cmp word [ebp - 0x10], bx
mov dword [ebp + 8], 0x80070057
jne 0x10092b29
jmp 0x10092b7c
cmp word [ebp - 0x10], 0x23
lea eax, [ebp + 0x6f]
push eax
push esi
jb 0x10092b61
call fcn.1005b1e9
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 0x10092b35
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 0x10092c3f
mov edi, dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100930e8
call fcn.1005b1ae
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 0x10092b82
fld qword [ebp - 0x64]
fstp qword [ebp + 0x4c]
cmp dword [ebp + 0x7c], ebx
jne 0x100930c9
cmp dword [ebp + 0x1c], 1
jle 0x10092dae
fld qword [ebp + 0x4c]
mov byte [ebp + 0x7b], 0
fcomp qword [0x100c9b80]
fnstsw ax
test ah, 5
jp 0x10092bb5
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.100a0b1c
mov ebx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ebx]
xor ecx, ecx
push edx
call fcn.10045b88
add esp, 0x24
jmp 0x10092c1c
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.100b4200
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.10045b88
add esp, 4
test al, al
jne 0x10092be8
cmp byte [ebp + 0x7b], al
je 0x10092c2c
neg ecx
adc esi, 0
neg esi
mov dword [ebp + 0x54], ecx
lea ecx, [ebp - 0x20]
mov dword [ebp + 0x58], esi
call fcn.1003f96c
push 2
pop edi
xor ebx, ebx
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3f
je 0x10092eff
mov ecx, dword [ebp + 0x1c]
cmp ecx, 1
jg 0x10092c7c
cmp word [ebp - 0x10], 0x23
mov eax, str._I64u
ja 0x10092c65
mov eax, str._I64d
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x54]
push dword [ebp + 0x68]
call fcn.100a0df8
add esp, 0x10
jmp 0x10092e42
cmp ecx, edi
mov eax, 0x100c6a64
mov dword [ebp + 0x78], eax
jne 0x10092c91
mov dword [ebp + 0x78], 0x100d2a20
jmp 0x10092cab
cmp ecx, 8
jne 0x10092c9f
mov dword [ebp + 0x78], 0x100d2a18
jmp 0x10092cab
cmp ecx, 0x10
jne 0x10092cab
mov dword [ebp + 0x78], 0x100d2a10
cmp word [ebp - 0x10], 0x23
mov dword [ebp + 0x50], eax
ja 0x10092cda
cmp dword [ebp + 0x58], ebx
jg 0x10092cda
jl 0x10092cc1
cmp dword [ebp + 0x54], ebx
jae 0x10092cda
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x58]
neg eax
adc ecx, ebx
neg ecx
mov dword [ebp + 0x50], 0x100d031c
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x58], ecx
mov ebx, dword [ebp + 0x58]
test ebx, ebx
mov edi, dword [ebp + 0x54]
ja 0x10092d00
jb 0x10092cea
test edi, edi
ja 0x10092cf7
push 0x100ca904
lea ecx, [ebp + 0x68]
call fcn.1005026c
test ebx, ebx
ja 0x10092d00
cmp edi, 1
jb 0x10092d79
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.1005023c
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push ebx
push edi
call fcn.100b65b0
push ecx
push 0x100d2a08
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.10005b3b
add esp, 0xc
lea ecx, [ebp - 4]
call fcn.1003f96c
mov ebx, dword [ebp - 0x54]
test ebx, ebx
mov edi, dword [ebp - 0x58]
ja 0x10092d0d
jb 0x10092d79
cmp edi, 1
jae 0x10092d0d
lea eax, [ebp + 0x68]
push eax
lea ecx, [ebp - 0x24]
call fcn.1005023c
push dword [ebp + 0x50]
lea ecx, [ebp + 0x68]
call fcn.1005026c
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.1004618f
push dword [ebp - 0x24]
lea ecx, [ebp + 0x68]
call fcn.1004618f
lea ecx, [ebp - 0x24]
jmp 0x10092e3d
mov eax, dword [ebp + 0x34]
or dword [ebp + 0x78], 0xffffffff
cmp eax, ebx
mov byte [ebp - 8], 0
mov byte [ebp - 0x2c], 0
je 0x10092e0d
cmp word [eax], 0x23
jne 0x10092dd1
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.10042554
mov edx, dword [ebp + 0x34]
pop ecx
pop ecx
mov cx, word [edx]
cmp cx, 0x65
je 0x10092df8
cmp cx, 0x66
je 0x10092df8
cmp cx, 0x67
jne 0x10092dfd
mov cl, byte [edx]
mov byte [ebp - 0x2c], cl
cmp eax, ebx
jle 0x10092e0d
cmp dword [ebp + 0x78], ebx
jge 0x10092e0d
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.100a0b1c
add esp, 0x20
push eax
lea ecx, [ebp + 0x68]
call fcn.1005029a
lea ecx, [ebp - 0x3c]
call fcn.1003f96c
push dword [ebp + 0x68]
call fcn.10010e64
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.10046168
mov eax, dword [ebp + 0x5c]
add ebx, ebx
cmp dword [ebp + 0x28], 0
lea edi, [ebx + eax + 2]
je 0x10092e8c
push 8
push str.txt
push eax
call fcn.100144ff
add esp, 0xc
cmp dword [ebp - 0xc], 0
je 0x10092eac
mov eax, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x5c]
push 6
add eax, eax
add eax, ecx
push 0x100d29f4
push eax
call fcn.100144ff
add esp, 0xc
mov eax, dword [ebp + 0x5c]
push esi
push dword [ebp + 0x68]
mov word [ebx + eax], 0x20
push edi
call fcn.10005b3b
mov eax, dword [ebp + 0x64]
add esp, 0xc
cmp word [eax], 0
je 0x1009300a
mov eax, dword [ebp + 0x38]
cmp word [eax], 0
je 0x10092ee2
mov ecx, dword [ebp + 0x3c]
push edi
push eax
call fcn.100457c2
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
mov ebx, dword [ebp + 0x64]
push 2
xor esi, esi
pop edi
jmp 0x10092583
add eax, edi
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x60], eax
push 0x3f
lea eax, [ebp + 0x78]
call fcn.100a1095
pop ecx
mov ecx, dword [ebp + 0x78]
cmp word [ecx], bx
jne 0x10092f3a
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1009307d
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.10045b88
add esp, 4
test al, al
je 0x10092f74
lea eax, [ebp + 0x50]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.10049634
pop ecx
pop ecx
mov ecx, dword [ebp + 0x78]
mov ax, word [ecx]
cmp ax, bx
je 0x10092f87
cmp ax, 0x7e
je 0x10092f87
add ecx, edi
mov dword [ebp + 0x78], ecx
cmp word [ecx], 0x7e
jne 0x10092f98
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.10049634
cmp dword [ebp + 0x64], 1
mov edi, dword [ebp + 0x38]
pop ecx
pop ecx
jle 0x10092fb4
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.10010cdd
test eax, eax
mov word [esi], bx
jne 0x10092fe4
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
jmp 0x1009302e
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0x10]
sub eax, edi
cmp eax, dword [ebp + 0x64]
jle 0x10092ff4
mov eax, dword [ebp + 0x64]
test eax, eax
jle 0x10092fd2
push eax
lea eax, [ebp + 0x54]
push eax
add ecx, edi
push ecx
call fcn.100144ff
add esp, 0xc
jmp 0x10092fd2
lea ecx, [ebp + 0x68]
call fcn.1003f96c
lea ecx, [ebp + 0x44]
call fcn.1003f96c
mov eax, dword [ebp + 0x60]
xor esi, esi
cmp word [eax], si
je 0x1009303b
mov ecx, dword [ebp + 0x3c]
push edi
push eax
call fcn.100457c2
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x10093078
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp + 8]
or eax, dword [ebp + 0xc]
mov dword [ebp + 0x78], esi
je 0x10093063
push 0xffffffffffffffff
push dword [ebp - 0x5c]
lea ecx, [ebp + 0x78]
call fcn.10046247
mov eax, dword [ebp + 0x78]
jmp 0x10093066
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x3c]
push esi
push eax
call fcn.1008f3e5
lea ecx, [ebp + 0x78]
call fcn.1003f96c
push 2
pop edi
xor ebx, ebx
cmp dword [ebp + 0x24], ebx
jle 0x100930e2
lea ecx, [ebp - 0x18]
call fcn.1003f96c
lea ecx, [ebp + 0x5c]
call fcn.1003f96c
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.10042c3f
push dword [ebp + 0x18]
mov ebx, dword [ebp + 0x10]
push dword [ebp - 0x50]
push ebx
call fcn.10042c9e
mov eax, dword [ebp + 4]
add dword [ebp + 0x20], eax
add dword [ebp + 0x18], eax
add esp, 0x18
xor esi, esi
jmp 0x10092556
mov eax, dword [ebp + 0x7c]
fld qword [ebp + 0x4c]
fstp qword [eax]
fld qword [ebp + 0x4c]
call fcn.100b4728
mov esi, eax
mov edi, edx
jmp 0x10092b41
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea ecx, [ebp - 0x18]
call fcn.1003f96c
lea ecx, [ebp + 0x5c]
call fcn.1003f96c
lea ecx, [ebp + 0x48]
call fcn.1003f96c
lea ecx, [ebp + 0x30]
call fcn.1003f96c
lea ecx, [ebp - 0x40]
call fcn.1003f96c
lea ecx, [ebp - 0x44]
call fcn.1003f96c
lea ecx, [ebp + 0x2c]
call fcn.1003f96c
lea ecx, [ebp + 0x14]
call fcn.1003f96c
mov edx, edi
pop edi
mov eax, esi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8