Function at 0x49e3f0
Capabilities:
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x4ec727
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x98
push ebx
push ebp
push esi
lea eax, [esp + 0xb4]
push edi
push eax
mov dword [esp + 0x4c], ecx
call fcn.00443850
xor eax, eax
add esp, 4
mov dword [esp + 0x24], eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x4efd50
mov dword [esp + 0xb4], eax
call ebx
lea esi, [eax + eax + 2]
lea ecx, [esi + 2]
push ecx
call fcn.00449130
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, 0x4efd50
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add esp, 4
mov dword [esp + 0x34], eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x2c], eax
push 0x4efd50
call ebx
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
push eax
call fcn.00449130
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, 0x4efd50
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add esp, 4
mov dword [esp + 0x50], eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0xa0], eax
push 0x4efd50
call ebx
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
push eax
call fcn.00449130
mov ecx, esi
mov edx, ecx
mov ebp, eax
shr ecx, 2
mov esi, 0x4efd50
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
add esp, 4
mov dword [esp + 0x70], ebp
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0xa4], ebp
xor eax, eax
fld qword [0x4f7808]
mov dword [esp + 0x74], eax
mov dword [esp + 0x28], eax
fstp qword [esp + 0x98]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xb8]
mov byte [esp + 0xb0], 3
cmp word [eax], 0x2d
jne 0x49e659
mov edi, edi
mov ecx, eax
mov edx, str._base
mov esi, 5
lea esp, [esp]
movzx edi, word [ecx]
movsx ebx, byte [edx]
or edi, 0x20
or ebx, 0x20
add ecx, 2
inc edx
cmp ebx, edi
jne 0x49e5be
dec esi
jns 0x49e530
add eax, 0xc
mov ecx, 0xa
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x38], ecx
push eax
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x44], 0
call fcn.0044cd70
add esp, 8
test eax, eax
mov eax, dword [esp + 0xb8]
jle 0x49e64f
test eax, eax
je 0x49e5b1
mov edi, edi
mov cx, word [eax]
cmp cx, 9
jb 0x49e59f
cmp cx, 0xd
jbe 0x49e5a5
cmp cx, 0x20
jne 0x49e5aa
add eax, 2
jmp 0x49e590
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
jmp 0x49e64f
mov ecx, eax
mov edx, str._err
mov esi, 4
lea ebx, [ebx]
movzx edi, word [ecx]
movsx ebx, byte [edx]
or edi, 0x20
or ebx, 0x20
add ecx, 2
inc edx
cmp ebx, edi
jne 0x49e659
dec esi
jns 0x49e5d0
add eax, 0xa
mov dword [esp + 0xb8], eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x34]
push ecx
call fcn.0044cd70
add esp, 8
test eax, eax
jle 0x49e630
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x49e630
mov ax, word [ecx]
cmp ax, 9
jb 0x49e625
cmp ax, 0xd
jbe 0x49e62b
cmp ax, 0x20
jne 0x49e630
add ecx, 2
jmp 0x49e616
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.0044cbe0
mov eax, dword [esp + 0xc0]
add esp, 8
cmp word [eax], 0x2d
je 0x49e520
mov cx, word [eax]
cmp cx, 0x23
jne 0x49e66c
mov dword [esp + 0x74], 0x23
jmp 0x49e672
cmp cx, 0x24
jne 0x49e67c
add eax, 2
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.00443850
mov ebx, dword [esp + 0xbc]
add esp, 4
cmp word [ebx], 0
jne 0x49e6e6
test ebp, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49e6b2
mov edx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49e6c8
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49e6df
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
xor eax, eax
jmp 0x49f1e4
push ebx
call fcn.004201fa
add esp, 4
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
lea edx, [esi + 2]
push edx
call fcn.00449130
mov ecx, esi
mov ebp, eax
mov eax, ecx
shr ecx, 2
mov esi, ebx
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add esp, 4
rep movsb byte es:[edi], byte [esi]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
add esi, 0xa
lea eax, [esi + esi + 2]
push ebp
call fcn.00449190
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x30], edi
je 0x49e745
mov word [edi + esi*2], 0
mov ebx, dword [sym.imp.SHLWAPI.dll_StrChrW]
push 0x3b
push edi
mov dword [esp + 0xc0], edi
call ebx
mov esi, eax
test esi, esi
je 0x49e762
mov word [esi], 0
push 0x3d
push edi
call ebx
test eax, eax
je 0x49e782
push 0x3d
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0xc0]
push edx
call fcn.0044c770
add esp, 0xc
test esi, esi
je 0x49e78b
mov word [esi], 0x3b
mov eax, dword [esp + 0xb8]
cmp word [eax], 0x3d
jne 0x49e7a2
add eax, 2
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.00443850
push 2
call fcn.00449130
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x49e7c6
mov word [eax], 0
push 2
call fcn.00449130
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
je 0x49e7dd
mov word [eax], 0
mov edx, dword [esp + 0xb8]
mov byte [esp + 0xb0], 6
mov dword [esp + 0x1c], edx
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
xor ebp, ebp
cmp word [edi], bp
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], eax
mov edx, edi
je 0x49e831
lea ebx, [ebx]
mov ax, word [edi]
cmp ax, 0x3b
je 0x49e854
cmp ax, 0xa
je 0x49e854
cmp ax, 0xd
je 0x49e854
add edi, 2
cmp word [edi], bp
jne 0x49e810
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x48]
mov al, byte [ecx + 0x8e]
test al, al
jne 0x49e87e
test byte [ecx + 0xb], 0xf
jne 0x49e87e
push ebp
push ebp
lea eax, [esp + 0x2c]
push eax
push edx
call fcn.004541d0
jmp 0x49e88b
mov dword [esp + 0x1c], edi
mov word [edi], bp
add edi, 2
mov dword [esp + 0x1c], edi
je 0x49e831
mov ax, word [edi]
cmp ax, 9
jb 0x49e873
cmp ax, 0xd
jbe 0x49e879
cmp ax, 0x20
jne 0x49e82d
add edi, 2
jmp 0x49e864
push ebp
push ebp
lea eax, [esp + 0x2c]
push eax
push edx
call fcn.00452ca0
mov ebx, dword [esp + 0x24]
cmp ebx, ebp
mov esi, ebx
je 0x49e8af
mov ax, word [esi]
cmp ax, 9
jb 0x49e8a4
cmp ax, 0xd
jbe 0x49e8aa
cmp ax, 0x20
jne 0x49e8af
add esi, 2
jmp 0x49e895
xor edx, edx
cmp word [esi], bp
mov ecx, esi
je 0x49e8df
jmp 0x49e8c0
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x41
jb 0x49e8d7
cmp ax, 0x5a
ja 0x49e8d7
add eax, 0x20
mov word [ecx], ax
add ecx, 2
cmp word [ecx], bp
jne 0x49e8c0
mov ax, word [esi]
cmp ax, 0x23
mov dword [esp + 0x64], 0x4efd50
jne 0x49e8fa
mov dword [esp + 0x14], 0x23
jmp 0x49e904
cmp ax, 0x24
jne 0x49e907
mov dword [esp + 0x14], ebp
add esi, 2
mov ax, word [esi]
cmp ax, 0x5f
je 0x49e928
cmp ax, 0x24
je 0x49e928
cmp ax, 0x61
jb 0x49e922
cmp ax, 0x7a
jbe 0x49e928
cmp ax, 0x80
jb 0x49e97e
lea ecx, [esi + 2]
jmp 0x49e930
mov ax, word [ecx]
cmp ax, 0x5f
je 0x49e95d
cmp ax, 0x24
je 0x49e95d
cmp ax, 0x61
jb 0x49e94b
cmp ax, 0x7a
jbe 0x49e95d
cmp ax, 0x80
jae 0x49e95d
cmp ax, 0x30
jb 0x49e962
cmp ax, 0x39
ja 0x49e962
add ecx, 2
jmp 0x49e930
mov edx, ecx
mov ax, word [ecx]
cmp ax, 9
jb 0x49e973
cmp ax, 0xd
jbe 0x49e979
cmp ax, 0x20
jne 0x49e97e
add ecx, 2
jmp 0x49e964
cmp word [ecx], 0x3d
jne 0x49e990
mov dword [esp + 0x64], esi
mov word [edx], bp
lea esi, [ecx + 2]
jmp 0x49e99d
cmp word [edi], bp
jne 0x49e99d
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x20]
push 0x23
mov word [edx], bp
push esi
mov word [eax], bp
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov edi, eax
cmp edi, ebp
mov dword [esp + 0x54], edi
je 0x49e9c8
mov word [edi], bp
add edi, 2
mov dword [esp + 0x54], edi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov cx, word [esi + eax*2 - 2]
dec eax
cmp cx, 0x2b
je 0x49ea2b
cmp cx, 0x2d
je 0x49ea2b
cmp cx, 0x2a
je 0x49ea2b
cmp cx, 0x2f
je 0x49ea2b
cmp cx, 0x25
je 0x49ea2b
cmp cx, 0x5e
je 0x49ea2b
cmp cx, 0x40
je 0x49ea2b
cmp cx, 0x26
je 0x49ea2b
cmp cx, 0x7c
je 0x49ea2b
cmp cx, 0x3d
je 0x49ea1d
cmp cx, 0x3e
je 0x49ea1d
cmp cx, 0x3c
jne 0x49ea2f
mov word [esi + eax*2 + 2], 0x30
mov word [esi + eax*2 + 4], bp
jmp 0x49ea2f
mov word [esi + eax*2], bp
push 0xca
call fcn.00449130
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x49ea4c
mov word [ebp], 0
mov word [esi - 2], 0x20
push esi
mov byte [esp + 0xb4], 7
mov word [esi - 2], 0
call fcn.0044a700
add esp, 4
test eax, eax
jge 0x49ea86
cmp word [esp + 0x14], 0
mov dword [esp + 0x5c], 0x80070057
jne 0x49eab7
mov ebx, dword [esp + 0x24]
jmp 0x49ebb0
cmp word [esp + 0x14], 0
je 0x49eb8f
lea ecx, [esp + 0x13]
push ecx
push esi
call fcn.00468760
mov esi, eax
mov al, byte [esp + 0x1b]
mov ebx, edx
movsx edx, al
add esp, 8
test al, al
mov dword [esp + 0x38], esi
mov dword [esp + 0x5c], edx
je 0x49eac9
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x49eca5
test ebp, ebp
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49eaf1
mov edx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov edx, dword [esp + 0x20]
mov eax, dword [0x51d3c8]
add edx, 0xfffffff8
push edx
push 0
push eax
call edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49eb2d
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x49eb44
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49eb5a
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call edi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49eb71
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x49eb88
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
mov eax, esi
jmp 0x49f1e4
lea eax, [esp + 0x13]
push eax
push esi
call fcn.004686c0
fstp qword [esp + 0x48]
mov al, byte [esp + 0x1b]
movsx ecx, al
add esp, 8
test al, al
mov dword [esp + 0x5c], ecx
je 0x49ebbb
fld qword [esp + 0x98]
fstp qword [esp + 0x40]
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x49f051
cmp dword [esp + 0x28], 1
jle 0x49ee68
fld qword [esp + 0x40]
mov byte [esp + 0x13], 0
fcomp qword [0x4f7808]
fnstsw ax
test ah, 5
jp 0x49ebfa
fld qword [esp + 0x40]
mov byte [esp + 0x13], 1
fchs
fstp qword [esp + 0x40]
fld qword [0x4f7808]
push 0x66
push 0
push 0
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [esp + 0x84]
fld qword [esp + 0x5c]
fstp qword [esp]
push edx
call fcn.004a4510
mov edi, dword [esp + 0x88]
add esp, 0x20
xor ecx, ecx
xor esi, esi
nop
mov ax, word [edi]
cmp ax, 0x30
jb 0x49ec6a
cmp ax, 0x39
ja 0x49ec6a
movzx eax, ax
sub eax, 0x30
push 0
cdq
push 0xa
mov ebx, eax
push esi
mov eax, edx
push ecx
mov dword [esp + 0x50], eax
call fcn.004b4970
add ebx, eax
mov eax, dword [esp + 0x40]
adc eax, edx
mov ecx, ebx
mov esi, eax
add edi, 2
jmp 0x49ec30
mov al, byte [esp + 0x13]
test al, al
je 0x49ec79
neg ecx
adc esi, 0
neg esi
mov eax, dword [esp + 0x68]
test eax, eax
mov dword [esp + 0x38], ecx
mov ebx, esi
je 0x49ec99
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x28]
cmp eax, 1
jg 0x49ecbe
push ebx
push esi
push ebp
call fcn.004a48b0
add esp, 0xc
jmp 0x49efb3
cmp eax, 2
mov ecx, 0x4efd50
mov dword [esp + 0x14], ecx
jne 0x49ecd6
mov dword [esp + 0x14], 0x4fb81c
jmp 0x49ecf2
cmp eax, 8
jne 0x49ece5
mov dword [esp + 0x14], 0x4fb814
jmp 0x49ecf2
cmp eax, 0x10
jne 0x49ecf2
mov dword [esp + 0x14], 0x4fb80c
test ebx, ebx
mov dword [esp + 0x40], ecx
jg 0x49ed90
jl 0x49ed04
test esi, esi
jae 0x49ed17
neg esi
adc ebx, 0
mov dword [esp + 0x40], 0x4f22a4
neg ebx
mov dword [esp + 0x38], esi
test ebx, ebx
jg 0x49ed90
jl 0x49ed21
test esi, esi
ja 0x49ed7d
push 0x4f24cc
mov dword [esp + 0x58], ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
push esi
call fcn.00449130
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, 0x4f24cc
rep movsd dword es:[edi], dword [esi]
mov ebp, eax
mov eax, dword [esp + 0x58]
mov ecx, edx
and ecx, 3
add esp, 4
test eax, eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x18], ebp
je 0x49ed75
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x38]
test ebx, ebx
jl 0x49ee1b
jg 0x49ed90
cmp esi, 1
jb 0x49ee1b
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
nop
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.004565f0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push eax
push ecx
push ebx
push esi
call fcn.004b5d90
push ecx
push 0x4fb804
mov dword [esp + 0x60], ebx
push ebp
mov esi, eax
mov ebx, edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [esp + 0x6c]
push edx
lea edi, [ebp + eax*2]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
push eax
mov eax, dword [esp + 0x70]
push eax
push edi
call fcn.00417dcd
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.00443880
test ebx, ebx
jg 0x49eda0
jl 0x49ee17
cmp esi, 1
jae 0x49eda0
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x80]
call fcn.004565f0
mov edx, dword [esp + 0x40]
push edx
lea ecx, [esp + 0x1c]
call fcn.00456630
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.00449510
mov ecx, dword [esp + 0x7c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00449510
lea ecx, [esp + 0x7c]
call fcn.00443880
mov ebp, dword [esp + 0x18]
jmp 0x49efb3
or esi, 0xffffffff
test edi, edi
mov byte [esp + 0x60], 0
mov byte [esp + 0x78], 0
je 0x49ef14
cmp word [edi], 0x23
jne 0x49ee90
mov dl, byte [edi]
add edi, 2
mov byte [esp + 0x60], dl
mov dword [esp + 0x54], edi
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x58]
push ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
call fcn.0044cd70
mov ecx, dword [esp + 0x5c]
add esp, 8
test eax, eax
jle 0x49eeda
test ecx, ecx
je 0x49eede
nop
mov ax, word [ecx]
cmp ax, 9
jb 0x49eecf
cmp ax, 0xd
jbe 0x49eed5
cmp ax, 0x20
jne 0x49eede
add ecx, 2
jmp 0x49eec0
xor edx, edx
jmp 0x49eeea
mov esi, dword [esp + 0x88]
mov edx, 1
mov ax, word [ecx]
cmp ax, 0x65
je 0x49eeff
cmp ax, 0x66
je 0x49eeff
cmp ax, 0x67
jne 0x49ef05
mov al, byte [ecx]
mov byte [esp + 0x78], al
test edx, edx
jle 0x49ef14
test esi, esi
jge 0x49ef14
mov byte [esp + 0x60], 0
xor esi, esi
mov ecx, dword [esp + 0x78]
fld qword [0x4f7808]
mov edx, dword [esp + 0x60]
push ecx
push edx
push esi
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [esp + 0x50]
fld qword [esp + 0x5c]
fstp qword [esp]
push eax
call fcn.004a4510
mov esi, dword [eax]
mov ebx, ebp
xor ebp, ebp
add esp, 0x20
test esi, esi
mov dword [esp + 0x18], ebp
je 0x49ef7a
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
push edi
call fcn.00449130
mov ecx, edi
mov edx, ecx
shr ecx, 2
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add esp, 4
and ecx, 3
mov ebp, eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x18], ebp
test ebx, ebx
je 0x49ef90
mov eax, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49efab
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esp + 0x34], 0
push ebp
call fcn.004201fa
add esp, 4
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [esp + 0x20]
mov esi, eax
lea eax, [esi + esi + 4]
push edx
call fcn.00449190
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
je 0x49efe5
mov word [eax + esi*2 + 2], 0
mov ebx, dword [esp + 0x20]
lea eax, [esi + esi]
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov esi, ebp
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [eax + ebx], 0
mov eax, dword [esp + 0x1c]
cmp word [eax], 0
je 0x49f10e
mov eax, dword [esp + 0x64]
cmp word [eax], 0
je 0x49f029
mov ecx, dword [esp + 0x48]
push ebx
push eax
call fcn.00448be0
test ebp, ebp
mov byte [esp + 0xb0], 6
je 0x49e7f0
mov ecx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x49e7f0
fld qword [esp + 0x40]
call fcn.004b3a7c
test ebp, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, eax
je 0x49f074
mov eax, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push eax
call esi
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x51d3c8]
add ecx, 0xfffffff8
push ecx
push 0
push edx
call esi
mov eax, dword [esp + 0x20]
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49f0b1
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x49f0c7
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49f0de
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49f0f5
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
test ebx, ebx
je 0x49f107
mov eax, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call esi
mov eax, edi
jmp 0x49f1e4
test ebp, ebp
mov byte [esp + 0xb0], 6
je 0x49f12d
mov ecx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x2c]
cmp word [eax], 0
je 0x49f1ff
mov ecx, dword [esp + 0x48]
push ebx
push eax
call fcn.00448be0
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
test ebx, ebx
je 0x49f172
mov edx, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push edx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x49f188
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x49f19f
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49f1b6
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x49f1e0
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa8]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xa4
ret 8
xor ebp, ebp
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x5c]
test eax, eax
mov byte [esp + 0xb0], 8
je 0x49f264
push str.icon1_0_
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea eax, [esi + esi + 4]
push ebp
call fcn.00449190
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x34], ebp
je 0x49f240
mov word [ebp + esi*2 + 2], 0
lea eax, [esi + esi]
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov esi, str.icon1_0_
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [eax + ebp], 0
mov edi, ebp
jmp 0x49f2a4
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + esi + 4]
push ebx
call fcn.00449190
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x49f28c
mov word [ebx + esi*2 + 2], 0
lea eax, [esi + esi]
push eax
lea ecx, [ebx + 2]
push ebx
push ecx
mov edi, ebx
call fcn.004b3b10
add esp, 0xc
mov word [ebx], 0x20
mov ecx, dword [esp + 0x48]
push 0
push edi
call fcn.00496180
test ebp, ebp
je 0x49f146
mov edx, dword [0x51d3c8]
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call esi
jmp 0x49f14c