Function at 0x4a2b60
Capabilities:
Parse credit card information

Disassembly:
push 0xffffffffffffffff
push 0x4e86c7
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.0043f2e0
xor eax, eax
add esp, 4
mov dword [esp + 0x24], eax
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
push 0x4ebd38
mov dword [esp + 0xb4], eax
call ebx
lea esi, [eax + eax + 2]
lea ecx, [esi + 2]
push ecx
call fcn.00445f00
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, 0x4ebd38
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 0x4ebd38
call ebx
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
push eax
call fcn.00445f00
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, 0x4ebd38
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 0x4ebd38
call ebx
lea esi, [eax + eax + 2]
lea eax, [esi + 2]
push eax
call fcn.00445f00
mov ecx, esi
mov edx, ecx
mov ebp, eax
shr ecx, 2
mov esi, 0x4ebd38
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 [0x4f30b8]
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 0x4a2dc9
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 0x4a2d2e
dec esi
jns 0x4a2ca0
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.00449970
add esp, 8
test eax, eax
mov eax, dword [esp + 0xb8]
jle 0x4a2dbf
test eax, eax
je 0x4a2d21
mov edi, edi
mov cx, word [eax]
cmp cx, 9
jb 0x4a2d0f
cmp cx, 0xd
jbe 0x4a2d15
cmp cx, 0x20
jne 0x4a2d1a
add eax, 2
jmp 0x4a2d00
mov dword [esp + 0xb8], eax
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], edx
jmp 0x4a2dbf
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 0x4a2dc9
dec esi
jns 0x4a2d40
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.00449970
add esp, 8
test eax, eax
jle 0x4a2da0
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4a2da0
mov ax, word [ecx]
cmp ax, 9
jb 0x4a2d95
cmp ax, 0xd
jbe 0x4a2d9b
cmp ax, 0x20
jne 0x4a2da0
add ecx, 2
jmp 0x4a2d86
lea edx, [esp + 0x98]
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.004497e0
mov eax, dword [esp + 0xc0]
add esp, 8
cmp word [eax], 0x2d
je 0x4a2c90
mov cx, word [eax]
cmp cx, 0x23
jne 0x4a2ddc
mov dword [esp + 0x74], 0x23
jmp 0x4a2de2
cmp cx, 0x24
jne 0x4a2dec
add eax, 2
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.0043f2e0
mov ebx, dword [esp + 0xbc]
add esp, 4
cmp word [ebx], 0
jne 0x4a2e56
test ebp, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x4a2e22
mov edx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a2e38
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a2e4f
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
xor eax, eax
jmp 0x4a3964
push ebx
call fcn.0041e7c0
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.00445f00
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.00445f60
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x30], edi
je 0x4a2eb5
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 0x4a2ed2
mov word [esi], 0
push 0x3d
push edi
call ebx
test eax, eax
je 0x4a2ef2
push 0x3d
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0xc0]
push edx
call fcn.00449370
add esp, 0xc
test esi, esi
je 0x4a2efb
mov word [esi], 0x3b
mov eax, dword [esp + 0xb8]
cmp word [eax], 0x3d
jne 0x4a2f12
add eax, 2
mov dword [esp + 0xb8], eax
lea ecx, [esp + 0xb8]
push ecx
call fcn.0043f2e0
push 2
call fcn.00445f00
add esp, 8
test eax, eax
mov dword [esp + 0x20], eax
je 0x4a2f36
mov word [eax], 0
push 2
call fcn.00445f00
add esp, 4
test eax, eax
mov dword [esp + 0x4c], eax
je 0x4a2f4d
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 0x4a2fa1
lea ebx, [ebx]
mov ax, word [edi]
cmp ax, 0x3b
je 0x4a2fc4
cmp ax, 0xa
je 0x4a2fc4
cmp ax, 0xd
je 0x4a2fc4
add edi, 2
cmp word [edi], bp
jne 0x4a2f80
mov dword [esp + 0x1c], edi
mov ecx, dword [esp + 0x48]
mov al, byte [ecx + 0x8a]
test al, al
jne 0x4a2fee
test byte [ecx + 0xb], 0xf
jne 0x4a2fee
push ebp
push ebp
lea eax, [esp + 0x2c]
push eax
push edx
call fcn.004531a0
jmp 0x4a2ffb
mov dword [esp + 0x1c], edi
mov word [edi], bp
add edi, 2
mov dword [esp + 0x1c], edi
je 0x4a2fa1
mov ax, word [edi]
cmp ax, 9
jb 0x4a2fe3
cmp ax, 0xd
jbe 0x4a2fe9
cmp ax, 0x20
jne 0x4a2f9d
add edi, 2
jmp 0x4a2fd4
push ebp
push ebp
lea eax, [esp + 0x2c]
push eax
push edx
call fcn.00451c30
mov ebx, dword [esp + 0x24]
cmp ebx, ebp
mov esi, ebx
je 0x4a301f
mov ax, word [esi]
cmp ax, 9
jb 0x4a3014
cmp ax, 0xd
jbe 0x4a301a
cmp ax, 0x20
jne 0x4a301f
add esi, 2
jmp 0x4a3005
xor edx, edx
cmp word [esi], bp
mov ecx, esi
je 0x4a304f
jmp 0x4a3030
xor eax, eax
mov ax, word [ecx]
cmp ax, 0x41
jb 0x4a3047
cmp ax, 0x5a
ja 0x4a3047
add eax, 0x20
mov word [ecx], ax
add ecx, 2
cmp word [ecx], bp
jne 0x4a3030
mov ax, word [esi]
cmp ax, 0x23
mov dword [esp + 0x64], 0x4ebd38
jne 0x4a306a
mov dword [esp + 0x14], 0x23
jmp 0x4a3074
cmp ax, 0x24
jne 0x4a3077
mov dword [esp + 0x14], ebp
add esi, 2
mov ax, word [esi]
cmp ax, 0x5f
je 0x4a3098
cmp ax, 0x24
je 0x4a3098
cmp ax, 0x61
jb 0x4a3092
cmp ax, 0x7a
jbe 0x4a3098
cmp ax, 0x80
jb 0x4a30ee
lea ecx, [esi + 2]
jmp 0x4a30a0
mov ax, word [ecx]
cmp ax, 0x5f
je 0x4a30cd
cmp ax, 0x24
je 0x4a30cd
cmp ax, 0x61
jb 0x4a30bb
cmp ax, 0x7a
jbe 0x4a30cd
cmp ax, 0x80
jae 0x4a30cd
cmp ax, 0x30
jb 0x4a30d2
cmp ax, 0x39
ja 0x4a30d2
add ecx, 2
jmp 0x4a30a0
mov edx, ecx
mov ax, word [ecx]
cmp ax, 9
jb 0x4a30e3
cmp ax, 0xd
jbe 0x4a30e9
cmp ax, 0x20
jne 0x4a30ee
add ecx, 2
jmp 0x4a30d4
cmp word [ecx], 0x3d
jne 0x4a3100
mov dword [esp + 0x64], esi
mov word [edx], bp
lea esi, [ecx + 2]
jmp 0x4a310d
cmp word [edi], bp
jne 0x4a310d
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 0x4a3138
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 0x4a319b
cmp cx, 0x2d
je 0x4a319b
cmp cx, 0x2a
je 0x4a319b
cmp cx, 0x2f
je 0x4a319b
cmp cx, 0x25
je 0x4a319b
cmp cx, 0x5e
je 0x4a319b
cmp cx, 0x40
je 0x4a319b
cmp cx, 0x26
je 0x4a319b
cmp cx, 0x7c
je 0x4a319b
cmp cx, 0x3d
je 0x4a318d
cmp cx, 0x3e
je 0x4a318d
cmp cx, 0x3c
jne 0x4a319f
mov word [esi + eax*2 + 2], 0x30
mov word [esi + eax*2 + 4], bp
jmp 0x4a319f
mov word [esi + eax*2], bp
push 0xca
call fcn.00445f00
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x18], ebp
je 0x4a31bc
mov word [ebp], 0
mov word [esi - 2], 0x20
push esi
mov byte [esp + 0xb4], 7
mov word [esi - 2], 0
call fcn.00447330
add esp, 4
test eax, eax
jge 0x4a31f6
cmp word [esp + 0x14], 0
mov dword [esp + 0x5c], 0x80070057
jne 0x4a3227
mov ebx, dword [esp + 0x24]
jmp 0x4a3320
cmp word [esp + 0x14], 0
je 0x4a32ff
lea ecx, [esp + 0x13]
push ecx
push esi
call fcn.00467020
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 0x4a3239
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x4a3415
test ebp, ebp
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x4a3261
mov edx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov edx, dword [esp + 0x20]
mov eax, dword [0x51927c]
add edx, 0xfffffff8
push edx
push 0
push eax
call edi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a329d
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a32b4
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a32ca
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call edi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a32e1
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4a32f8
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
mov eax, esi
jmp 0x4a3964
lea eax, [esp + 0x13]
push eax
push esi
call fcn.00466f80
fstp qword [esp + 0x48]
mov al, byte [esp + 0x1b]
movsx ecx, al
add esp, 8
test al, al
mov dword [esp + 0x5c], ecx
je 0x4a332b
fld qword [esp + 0x98]
fstp qword [esp + 0x40]
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x4a37d1
cmp dword [esp + 0x28], 1
jle 0x4a35e8
fld qword [esp + 0x40]
mov byte [esp + 0x13], 0
fcomp qword [0x4f30b8]
fnstsw ax
test ah, 5
jp 0x4a336a
fld qword [esp + 0x40]
mov byte [esp + 0x13], 1
fchs
fstp qword [esp + 0x40]
fld qword [0x4f30b8]
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.0048d7c0
mov edi, dword [esp + 0x88]
add esp, 0x20
xor ecx, ecx
xor esi, esi
nop
mov ax, word [edi]
cmp ax, 0x30
jb 0x4a33da
cmp ax, 0x39
ja 0x4a33da
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.004b08b0
add ebx, eax
mov eax, dword [esp + 0x40]
adc eax, edx
mov ecx, ebx
mov esi, eax
add edi, 2
jmp 0x4a33a0
mov al, byte [esp + 0x13]
test al, al
je 0x4a33e9
neg ecx
adc esi, 0
neg esi
mov eax, dword [esp + 0x68]
test eax, eax
mov dword [esp + 0x38], ecx
mov ebx, esi
je 0x4a3409
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
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 0x4a343c
push ebx
push esi
push 0x4f49a8
push 0x28
push ebp
call fcn.004c1f3f
add esp, 0x14
push ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
jmp 0x4a3733
cmp eax, 2
mov ecx, 0x4ebd38
mov dword [esp + 0x14], ecx
jne 0x4a3454
mov dword [esp + 0x14], 0x4f78dc
jmp 0x4a3470
cmp eax, 8
jne 0x4a3463
mov dword [esp + 0x14], 0x4f78d4
jmp 0x4a3470
cmp eax, 0x10
jne 0x4a3470
mov dword [esp + 0x14], 0x4f78cc
test ebx, ebx
mov dword [esp + 0x40], ecx
jg 0x4a350e
jl 0x4a3482
test esi, esi
jae 0x4a3495
neg esi
adc ebx, 0
mov dword [esp + 0x40], 0x4ee314
neg ebx
mov dword [esp + 0x38], esi
test ebx, ebx
jg 0x4a350e
jl 0x4a349f
test esi, esi
ja 0x4a34fb
push 0x4ee160
mov dword [esp + 0x58], ebp
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
push esi
call fcn.00445f00
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov edi, eax
mov esi, 0x4ee160
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 0x4a34f3
mov ecx, dword [0x51927c]
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 0x4a359b
jg 0x4a350e
cmp esi, 1
jb 0x4a359b
cdq
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
lea ecx, [ecx]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x70]
call fcn.004574a0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
push eax
push ecx
push ebx
push esi
call fcn.004b10f0
push ecx
push 0x4f78c4
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.004acbce
add esp, 0xc
lea ecx, [esp + 0x6c]
call fcn.0043f290
test ebx, ebx
jg 0x4a3520
jl 0x4a3597
cmp esi, 1
jae 0x4a3520
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x80]
call fcn.004574a0
mov edx, dword [esp + 0x40]
push edx
lea ecx, [esp + 0x1c]
call fcn.004574e0
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.004462e0
mov ecx, dword [esp + 0x7c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.004462e0
lea ecx, [esp + 0x7c]
call fcn.0043f290
mov ebp, dword [esp + 0x18]
jmp 0x4a3733
or esi, 0xffffffff
test edi, edi
mov byte [esp + 0x60], 0
mov byte [esp + 0x78], 0
je 0x4a3694
cmp word [edi], 0x23
jne 0x4a3610
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.00449970
mov ecx, dword [esp + 0x5c]
add esp, 8
test eax, eax
jle 0x4a365a
test ecx, ecx
je 0x4a365e
nop
mov ax, word [ecx]
cmp ax, 9
jb 0x4a364f
cmp ax, 0xd
jbe 0x4a3655
cmp ax, 0x20
jne 0x4a365e
add ecx, 2
jmp 0x4a3640
xor edx, edx
jmp 0x4a366a
mov esi, dword [esp + 0x88]
mov edx, 1
mov ax, word [ecx]
cmp ax, 0x65
je 0x4a367f
cmp ax, 0x66
je 0x4a367f
cmp ax, 0x67
jne 0x4a3685
mov al, byte [ecx]
mov byte [esp + 0x78], al
test edx, edx
jle 0x4a3694
test esi, esi
jge 0x4a3694
mov byte [esp + 0x60], 0
xor esi, esi
mov ecx, dword [esp + 0x78]
fld qword [0x4f30b8]
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.0048d7c0
mov esi, dword [eax]
mov ebx, ebp
xor ebp, ebp
add esp, 0x20
test esi, esi
mov dword [esp + 0x18], ebp
je 0x4a36fa
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edi, [eax + eax + 2]
push edi
call fcn.00445f00
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 0x4a3710
mov eax, dword [0x51927c]
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 0x4a372b
mov ecx, dword [0x51927c]
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.0041e7c0
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.00445f60
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
je 0x4a3765
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 0x4a388e
mov eax, dword [esp + 0x64]
cmp word [eax], 0
je 0x4a37a9
mov ecx, dword [esp + 0x48]
push ebx
push eax
call fcn.00444550
test ebp, ebp
mov byte [esp + 0xb0], 6
je 0x4a2f60
mov ecx, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x4a2f60
fld qword [esp + 0x40]
call fcn.004aedbc
test ebp, ebp
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, eax
je 0x4a37f4
mov eax, dword [0x51927c]
add ebp, 0xfffffff8
push ebp
push 0
push eax
call esi
mov ecx, dword [esp + 0x4c]
mov edx, dword [0x51927c]
add ecx, 0xfffffff8
push ecx
push 0
push edx
call esi
mov eax, dword [esp + 0x20]
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a3831
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a3847
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a385e
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a3875
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
test ebx, ebx
je 0x4a3887
mov eax, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call esi
mov eax, edi
jmp 0x4a3964
test ebp, ebp
mov byte [esp + 0xb0], 6
je 0x4a38ad
mov ecx, dword [0x51927c]
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 0x4a397f
mov ecx, dword [esp + 0x48]
push ebx
push eax
call fcn.00444550
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
test ebx, ebx
je 0x4a38f2
mov edx, dword [0x51927c]
add ebx, 0xfffffff8
push ebx
push 0
push edx
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a3908
add eax, 0xfffffff8
push eax
mov eax, dword [0x51927c]
push 0
push eax
call esi
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a391f
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a3936
mov edx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x51927c]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4a3960
mov edx, dword [0x51927c]
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 0x4a39e4
push str.icon1_0_
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea eax, [esi + esi + 4]
push ebp
call fcn.00445f60
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x34], ebp
je 0x4a39c0
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 0x4a3a24
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
inc esi
lea eax, [esi + esi + 4]
push ebx
call fcn.00445f60
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x20], ebx
je 0x4a3a0c
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.004aee50
add esp, 0xc
mov word [ebx], 0x20
mov ecx, dword [esp + 0x48]
push 0
push edi
call fcn.0049e640
test ebp, ebp
je 0x4a38c6
mov edx, dword [0x51927c]
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call esi
jmp 0x4a38cc