Function at 0x43a786
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4472a1
mov eax, dword fs:[0]
push eax
sub esp, 0x410
mov eax, dword [0x4602c0]
xor eax, esp
mov dword [esp + 0x408], eax
push ebx
push esi
push edi
mov eax, dword [0x4602c0]
xor eax, esp
push eax
lea eax, [esp + 0x420]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push 7
mov dword [esp + 0x2c], eax
pop ebx
xor esi, esi
xor eax, eax
mov dword [esp + 0x198], ebx
mov dword [esp + 0x194], esi
mov word [esp + 0x184], ax
mov dword [esp + 0x428], esi
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x178], esi
mov word [esp + 0x168], ax
mov byte [esp + 0x134], al
push 0x469388
mov byte [esp + 0x42c], 2
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
push 1
mov dword [esp + 0x20], eax
call esi
mov dword [esp + 0x20], eax
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x250]
push str.whsc
mov dword [esp + 0x1c], 0x1a4
call fcn.00409480
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x250]
mov byte [esp + 0x42c], 3
mov ecx, dword [esp + 0x2c]
push eax
call fcn.004096b4
mov dword [esp + 0x24], eax
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x20c]
push 0x451700
mov dword [esp + 0x1c], 0xf1
call fcn.00409480
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x20c]
mov byte [esp + 0x42c], 4
mov ecx, dword [esp + 0x2c]
push eax
call fcn.004096b4
mov dword [esp + 0x30], eax
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0xc0]
push 0x451704
mov dword [esp + 0x1c], 0xc80000
call fcn.00409480
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0xc0]
mov byte [esp + 0x42c], 5
mov ecx, dword [esp + 0x2c]
push eax
call fcn.004096b4
push 0x44df68
lea esi, [esp + 0x1d0]
mov dword [esp + 0x1c], eax
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 6
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push 0x451708
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x50]
mov byte [esp + 0x430], bl
mov ecx, dword [esp + 0x30]
push eax
call fcn.004094a6
push 0xffffffffffffffff
lea ecx, [esp + 0x168]
push ecx
xor ebx, ebx
mov byte [esp + 0x430], 8
call fcn.004010d2
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x50]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x144]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x1d4]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0xc4]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x210]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x254]
mov byte [esp + 0x430], 2
call fcn.0040115a
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x10], eax
mov byte [esp + 0x428], 9
cmp eax, ebx
je 0x43aa0c
push 0x65
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
push eax
push 0x10
push dword [esp + 0x18]
xor edi, edi
call fcn.0043065e
mov esi, eax
jmp 0x43aa0e
xor esi, esi
mov byte [esp + 0x428], 2
cmp dword [esp + 0x17c], 8
mov eax, dword [esp + 0x168]
mov dword [0x469434], esi
jae 0x43aa34
lea eax, [esp + 0x168]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x20]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x24]
push 0x10008
push edi
push dword [esp + 0x2c]
cdq
push dword [esp + 0x24]
sub eax, edx
push dword [esp + 0x4c]
mov ecx, eax
mov eax, dword [esp + 0x24]
sar ecx, 1
call fcn.004304a9
push 0x434f00
mov dword [0x469374], eax
mov eax, dword [0x469434]
push 0x10
call fcn.0043046b
mov eax, dword [0x469434]
push 0x434f2e
push 0x4e
call fcn.0043046b
mov eax, dword [0x469434]
push 0x435421
push 0x111
call fcn.0043046b
mov eax, dword [0x469434]
push 0x434d2b
push 0x200
call fcn.0043046b
mov dword [0x4692fc], edi
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push 0x45170c
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xa
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43ab1b
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.STATIC
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x30
pop eax
mov dword [0x46937c], eax
mov dword [0x469378], eax
push str.Icon
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x28], 0x12
mov dword [esp + 0x24], 0x35
mov dword [esp + 0x20], 0x10000000
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
push 0x469378
push 0x46937c
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
push ebx
push dword [0x469378]
mov esi, eax
push dword [0x46937c]
push 1
push str.101
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [0x469380], eax
cmp esi, ebx
je 0x43abed
push 0x434e9a
push 0xf
mov eax, esi
call fcn.0043046b
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.open
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xb
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43ac3e
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.BUTTON
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x451750
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x56
mov dword [esp + 0x38], 0x17
mov dword [esp + 0x28], 0x83
mov dword [esp + 0x24], 0x79
mov dword [esp + 0x20], 0x10010001
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
cmp eax, ebx
je 0x43acec
mov dword [eax + 0x2c], 0xc
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.download
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xc
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43ad3d
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push 0x44df68
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x451774
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x56
mov dword [esp + 0x38], 0x17
mov dword [esp + 0x28], 0x83
mov dword [esp + 0x24], 0x79
mov dword [esp + 0x20], 0x10010001
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
cmp eax, ebx
je 0x43adeb
mov dword [eax + 0x2c], 0xd
push dword [eax + 4]
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.save
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xd
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43ae3c
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.BUTTON
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x451790
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x56
mov dword [esp + 0x38], 0x17
mov dword [esp + 0x28], 0xe0
mov dword [esp + 0x24], 0x79
mov dword [esp + 0x20], 0x10010000
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
cmp eax, ebx
je 0x43aee1
mov dword [eax + 0x2c], 0xb
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.cancel
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xe
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43af32
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.BUTTON
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x4517b4
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x56
mov dword [esp + 0x38], 0x17
mov dword [esp + 0x28], 0x13d
mov dword [esp + 0x24], 0x79
mov dword [esp + 0x20], 0x10000000
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
mov dword [esp + 0x3c], eax
cmp eax, ebx
je 0x43afdb
mov dword [eax + 0x2c], 0xa
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.filename
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0xf
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43b02c
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.STATIC
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0x44df68
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x11a
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x28], 0x7b
mov dword [esp + 0x24], 0x2e
mov dword [esp + 0x20], 0x10004000
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
mov dword [0x469440], eax
cmp dword [esp + 0x3c], ebx
je 0x43b0d9
push 1
push eax
call fcn.004301a1
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.filesize
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x10
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43b12a
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.STATIC
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
mov eax, dword [0x4692f0]
or eax, dword [0x4692f4]
mov dword [esp + 0x24], 0x11a
mov dword [esp + 0x30], 0xe
mov dword [esp + 0x20], 0x7b
mov dword [esp + 0x1c], 0x4a
mov dword [esp + 0x18], 0x10000000
jne 0x43b18c
mov dword [esp + 0x18], ebx
push 0x44df68
lea eax, [esp + 0x168]
push eax
call fcn.00401f7a
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
mov dword [0x469438], eax
xor eax, eax
add esp, 0x18
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.filehost
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x11
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43b22b
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
push str.STATIC
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0xffffffffffffffff
lea eax, [esp + 0x168]
push eax
xor ebx, ebx
mov eax, 0x461f48
mov dword [esp + 0x2c], 0x11a
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x28], 0x7b
mov dword [esp + 0x24], 0x5e
mov dword [esp + 0x20], 0x10004000
call fcn.004010d2
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
call fcn.0043851e
add esp, 0x18
push 0x44df68
lea esi, [esp + 0x1d0]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x12
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.nostd
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x50]
mov byte [esp + 0x430], 0x13
mov ecx, dword [esp + 0x30]
push eax
call fcn.004094a6
push 0xffffffffffffffff
lea ecx, [esp + 0x184]
push ecx
mov byte [esp + 0x430], 0x14
call fcn.004010d2
push ebx
push 1
lea esi, [esp + 0x50]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x144]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x1d4]
mov byte [esp + 0x430], 2
call fcn.0040115a
push 0x44e188
lea eax, [esp + 0x184]
call fcn.0040709e
pop ecx
test al, al
jne 0x43b6f8
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x15
mov edi, str.STATIC
cmp eax, ebx
je 0x43b3ab
push ebx
push ebx
push eax
call fcn.0043065e
mov esi, eax
jmp 0x43b3ad
xor esi, esi
mov ecx, esi
mov byte [esp + 0x428], 2
call fcn.00430264
push ebx
push 0xe
push 0x186
push 0x10000000
push 0x4517f8
push 0x10
pop eax
push 0xf
pop ecx
call fcn.004304a9
push 1
push esi
call fcn.004301a1
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x16
cmp eax, ebx
je 0x43b405
push ebx
push ebx
push eax
call fcn.0043065e
mov esi, eax
jmp 0x43b407
xor esi, esi
mov ecx, esi
mov byte [esp + 0x428], 2
call fcn.00430264
push ebx
push 0xe
push 0x2d
push 0x10000002
push 0x45183c
push 0x2e
pop eax
push 0x44
pop ecx
call fcn.004304a9
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x17
cmp eax, ebx
je 0x43b452
push ebx
push ebx
push eax
call fcn.0043065e
jmp 0x43b454
xor eax, eax
mov byte [esp + 0x428], 2
mov ecx, eax
mov dword [0x46943c], eax
call fcn.00430264
mov eax, dword [0x4692f0]
or eax, dword [0x4692f4]
je 0x43b47c
mov eax, 0x10000000
jmp 0x43b47e
xor eax, eax
mov esi, dword [0x46943c]
push ebx
push 0xe
push 0x2d
or eax, 2
push eax
push 0x451848
push 0x4a
pop eax
push 0x44
pop ecx
call fcn.004304a9
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x18
cmp eax, ebx
je 0x43b4c1
push ebx
push ebx
push eax
call fcn.0043065e
mov esi, eax
jmp 0x43b4c3
xor esi, esi
mov ecx, esi
mov byte [esp + 0x428], 2
call fcn.00430264
push ebx
push 0xe
push 0x2d
push 0x10000002
push 0x451858
push 0x5e
pop eax
push 0x44
pop ecx
call fcn.004304a9
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x19
cmp eax, ebx
je 0x43b510
push ebx
push ebx
push eax
call fcn.0043065e
mov esi, eax
jmp 0x43b512
xor esi, esi
mov ecx, esi
mov byte [esp + 0x428], 2
call fcn.00430264
push ebx
push 0xe
push 0x159
push 0x10000000
push 0x451860
push 0x3c
mov eax, 0xb9
pop ecx
call fcn.004304a9
push 0x44df68
lea esi, [esp + 0x1d0]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x1a
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.noshield
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x140]
push eax
lea eax, [esp + 0x50]
mov byte [esp + 0x430], 0x1b
mov ecx, dword [esp + 0x30]
push eax
call fcn.004094a6
push 0xffffffffffffffff
lea ecx, [esp + 0x184]
push ecx
xor ebx, ebx
mov byte [esp + 0x430], 0x1c
call fcn.004010d2
xor edi, edi
push edi
push 1
lea esi, [esp + 0x50]
call fcn.0040115a
push edi
push 1
lea esi, [esp + 0x144]
call fcn.0040115a
push edi
push 1
lea esi, [esp + 0x1d4]
mov byte [esp + 0x430], 2
call fcn.0040115a
push 0x44e188
lea eax, [esp + 0x184]
call fcn.0040709e
pop ecx
test al, al
jne 0x43b6f6
push 0x48
call fcn.0041b8c3
pop ecx
mov dword [esp + 0x40], eax
mov byte [esp + 0x428], 0x1d
cmp eax, ebx
je 0x43b62a
push ebx
push ebx
push eax
mov edi, str.STATIC
call fcn.0043065e
mov esi, eax
mov dword [esp + 0x3c], eax
jmp 0x43b630
xor esi, esi
mov dword [esp + 0x3c], esi
mov ecx, esi
mov byte [esp + 0x428], 2
call fcn.00430264
push ebx
push 0x20
pop edi
push edi
push edi
push 0x10000000
push str.Shield
push 0x11
mov eax, 0xb9
pop ecx
call fcn.004304a9
push 0x2c
push ebx
push 0x469338
call fcn.00420670
xor eax, eax
add esp, 0xc
inc eax
push 0x1000
mov dword [0x469338], 0x28
mov dword [0x46933c], edi
mov dword [0x469340], edi
mov word [0x469344], ax
mov word [0x469346], di
mov dword [0x469348], ebx
call fcn.0041a4fc
pop ecx
push 0xf
mov dword [0x469364], eax
call dword [sym.imp.USER32.dll_GetSysColor]
movzx ecx, al
mov bx, ax
xor edx, edx
shr bx, 8
shl ecx, 8
shr eax, 0x10
movzx esi, bl
add esi, ecx
movzx edi, al
shl esi, 8
add esi, edi
mov edi, dword [0x469364]
mov dword [edi + edx*4], esi
inc edx
cmp edx, 0x400
jl 0x43b6c2
call fcn.00430ab4
mov eax, dword [esp + 0x3c]
push 0x434e3d
push 0xf
call fcn.0043046b
xor ebx, ebx
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.expand
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x1e
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43b749
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
movzx eax, byte [esp + 0x134]
neg eax
sbb eax, eax
test eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
je 0x43bbb9
lea eax, [esp + 0x1e8]
push eax
call fcn.004091b1
lea eax, [esp + 0x19c]
push eax
mov byte [esp + 0x42c], 0x1f
call fcn.004091b1
mov byte [esp + 0x428], 0x20
mov eax, dword [0x469434]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x14], eax
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push 0x451700
call fcn.00409480
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x140]
mov byte [esp + 0x42c], 0x21
mov ecx, dword [esp + 0x13c]
push eax
call fcn.004096b4
push ebx
push 1
lea esi, [esp + 0x144]
mov dword [0x469444], eax
mov byte [esp + 0x430], 0x20
call fcn.0040115a
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.normal
call fcn.00409480
mov byte [esp + 0x428], 0x22
mov ecx, dword [esp + 0x138]
lea edx, [esp + 0x13c]
call fcn.0040927a
push eax
lea edi, [esp + 0x1ec]
call fcn.0040922c
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 0x20
call fcn.0040115a
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.expand
call fcn.00409480
mov byte [esp + 0x428], 0x23
mov ecx, dword [esp + 0x138]
lea edx, [esp + 0x13c]
call fcn.0040927a
push eax
lea edi, [esp + 0x1a0]
call fcn.0040922c
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 0x20
call fcn.0040115a
mov eax, edi
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
lea eax, [esp + 0x14]
mov byte [esp + 0x2f], 1
call fcn.004096f1
mov eax, dword [esp + 0x1b8]
add eax, 9
cmp eax, ebx
je 0x43b8e7
add eax, 0xfffffff7
jmp 0x43b8e9
xor eax, eax
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
je 0x43ba21
add eax, 0x1c
push eax
lea ecx, [esp + 0x20c]
call fcn.00409166
push str.BUTTON
lea eax, [esp + 0x184]
push eax
mov byte [esp + 0x430], 0x24
call fcn.00401f7a
push 0x44df68
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x14a
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
call fcn.00401f7a
lea eax, [esp + 0x208]
mov dword [esp + 0x44], eax
mov byte [esp + 0x40], 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
mov byte [esp + 0x440], 0x25
call fcn.0043851e
add esp, 0x18
mov edi, eax
mov byte [esp + 0x428], 0x24
mov dword [esp + 0x3c], edi
cmp byte [esp + 0x40], bl
je 0x43b9ba
mov byte [esp + 0x40], bl
cmp byte [esp + 0x2f], bl
je 0x43b9d1
mov dword [0x46944c], edi
mov dword [edi + 0x2c], 0x1f
mov byte [esp + 0x2f], bl
lea ebx, [esp + 0x3c]
mov esi, 0x4694d8
call fcn.00401f10
test dword [esp + 0x18], 0x400
je 0x43b9fc
mov edi, dword [edi + 4]
push 0
push 1
push 0xf1
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x208]
push eax
mov byte [esp + 0x42c], 0x20
call fcn.004091f4
lea eax, [esp + 0x14]
call fcn.00409c11
xor ebx, ebx
jmp 0x43b8f0
lea eax, [esp + 0x1e8]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
lea eax, [esp + 0x14]
mov byte [esp + 0x2f], 1
call fcn.004096f1
mov eax, dword [esp + 0x204]
add eax, 9
cmp eax, ebx
je 0x43ba51
add eax, 0xfffffff7
jmp 0x43ba53
xor eax, eax
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
je 0x43bb8f
add eax, 0x1c
push eax
lea ecx, [esp + 0x20c]
call fcn.00409166
push str.BUTTON
lea eax, [esp + 0x184]
push eax
mov byte [esp + 0x430], 0x26
call fcn.00401f7a
push 0x44df68
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x14a
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0x10000000
call fcn.00401f7a
lea eax, [esp + 0x208]
mov dword [esp + 0x44], eax
mov byte [esp + 0x40], 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
mov byte [esp + 0x440], 0x27
call fcn.0043851e
add esp, 0x18
mov edi, eax
mov byte [esp + 0x428], 0x26
mov dword [esp + 0x3c], edi
cmp byte [esp + 0x40], bl
je 0x43bb28
mov byte [esp + 0x40], bl
cmp byte [esp + 0x2f], bl
je 0x43bb3f
mov dword [0x469450], edi
mov dword [edi + 0x2c], 0x1e
mov byte [esp + 0x2f], bl
lea ebx, [esp + 0x3c]
mov esi, 0x4694c0
call fcn.00401f10
test dword [esp + 0x18], 0x400
je 0x43bb6a
mov edi, dword [edi + 4]
push 0
push 1
push 0xf1
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [esp + 0x208]
push eax
mov byte [esp + 0x42c], 0x20
call fcn.004091f4
lea eax, [esp + 0x14]
call fcn.00409c11
xor ebx, ebx
jmp 0x43ba5a
lea eax, [esp + 0x19c]
push eax
mov byte [esp + 0x42c], 0x1f
call fcn.004091f4
lea eax, [esp + 0x1e8]
push eax
mov byte [esp + 0x42c], 2
call fcn.004091f4
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.elements
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x28
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43bc0a
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 2
call fcn.0040115a
movzx eax, byte [esp + 0x134]
neg eax
sbb eax, eax
test eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
je 0x43bd45
mov esi, dword [esp + 0x138]
lea ecx, [esp + 0x10]
lea eax, [esp + 0x14]
mov dword [esp + 0x10], esi
call fcn.004096f1
mov esi, dword [esi + 0x1c]
lea eax, [esi + 9]
cmp eax, ebx
je 0x43bc5f
add eax, 0xfffffff7
jmp 0x43bc61
xor eax, eax
mov esi, dword [eax + 4]
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x43bd45
add eax, 0x1c
push eax
lea ecx, [esp + 0x20c]
call fcn.00409166
push str.STATIC
lea eax, [esp + 0x184]
push eax
mov byte [esp + 0x430], 0x29
call fcn.00401f7a
push 0x44df68
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x2c], 0x14a
mov dword [esp + 0x38], 0xe
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 0x10000000
call fcn.00401f7a
lea eax, [esp + 0x208]
mov dword [esp + 0x44], eax
mov byte [esp + 0x40], 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
mov byte [esp + 0x440], 0x2a
call fcn.0043851e
add esp, 0x18
cmp byte [esp + 0x40], bl
je 0x43bd22
mov byte [esp + 0x40], bl
lea eax, [esp + 0x208]
push eax
mov byte [esp + 0x42c], 2
call fcn.004091f4
lea eax, [esp + 0x14]
call fcn.00409c11
jmp 0x43bc64
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push str.banner_url
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x2b
mov ecx, dword [esp + 0x28]
push eax
lea esi, [esp + 0x298]
call fcn.00409716
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 0x2d
call fcn.0040115a
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0xc0]
push str.banner_click
call fcn.00409480
lea eax, [esp + 0xbc]
mov byte [esp + 0x428], 0x2e
mov ecx, dword [esp + 0x28]
push eax
lea esi, [esp + 0x278]
call fcn.00409716
push ebx
push 1
lea esi, [esp + 0xc4]
mov byte [esp + 0x430], 0x30
call fcn.0040115a
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x110]
push str.banner_height
call fcn.00409480
lea eax, [esp + 0x10c]
mov byte [esp + 0x428], 0x31
mov ecx, dword [esp + 0x28]
push eax
lea esi, [esp + 0x1c8]
call fcn.0040975d
push ebx
push 1
lea esi, [esp + 0x114]
mov byte [esp + 0x430], 0x33
call fcn.0040115a
movzx eax, byte [esp + 0x294]
neg eax
sbb eax, eax
test eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
je 0x43beaa
movzx ecx, byte [esp + 0x1c4]
neg ecx
sbb ecx, ecx
mov eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
test eax, ecx
je 0x43beaa
movzx ecx, byte [esp + 0x274]
neg ecx
sbb ecx, ecx
test eax, ecx
je 0x43beaa
push 0xffffffffffffffff
push 0x461ed8
xor ebx, ebx
lea eax, [esp + 0x2a0]
call fcn.004010d2
push 0xffffffffffffffff
push 0x461ef4
lea eax, [esp + 0x280]
call fcn.004010d2
mov eax, dword [esp + 0x1c8]
mov dword [0x469460], eax
xor eax, eax
lea edi, [esp + 0x10]
stosb byte es:[edi], al
push dword [esp + 0x10]
lea eax, [esp + 0x140]
push 0x451278
call fcn.00409480
lea eax, [esp + 0x13c]
mov byte [esp + 0x428], 0x34
mov ecx, dword [esp + 0x28]
push eax
lea edi, [esp + 0x38]
call fcn.0040934e
mov edx, eax
lea eax, [esp + 0x134]
call fcn.00407fe9
cmp byte [esp + 0x34], bl
je 0x43befb
mov byte [esp + 0x34], bl
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 0x33
call fcn.0040115a
movzx eax, byte [esp + 0x134]
neg eax
sbb eax, eax
test eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
je 0x43caea
mov esi, dword [esp + 0x138]
lea ecx, [esp + 0x14]
lea eax, [esp + 0x10]
mov dword [esp + 0x14], esi
call fcn.004096f1
mov esi, dword [esi + 0x1c]
lea eax, [esi + 9]
cmp eax, ebx
je 0x43bf50
add eax, 0xfffffff7
jmp 0x43bf52
xor eax, eax
mov eax, dword [eax + 4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x90]
je 0x43caea
add eax, 0x1c
push eax
lea ecx, [esp + 0x20c]
call fcn.00409166
lea eax, [esp + 0x24c]
push eax
mov byte [esp + 0x42c], 0x35
call fcn.004091b1
xor eax, eax
mov byte [esp + 0x428], 0x36
lea edi, [esp + 0x98]
stosb byte es:[edi], al
push dword [esp + 0x98]
lea eax, [esp + 0x140]
push 0x451984
call fcn.00409480
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x208]
mov byte [esp + 0x428], 0x37
call fcn.0040927a
push eax
lea edi, [esp + 0x250]
call fcn.0040922c
push ebx
push 1
lea esi, [esp + 0x144]
mov byte [esp + 0x430], 0x36
call fcn.0040115a
push str.BUTTON
lea eax, [esp + 0x184]
push eax
call fcn.00401f7a
push 0xd
pop eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], eax
push 0x44df68
lea eax, [esp + 0x168]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], 3
call fcn.00401f7a
lea eax, [esp + 0x208]
mov dword [esp + 0x38], eax
mov byte [esp + 0x34], 1
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x17c]
lea edx, [esp + 0x198]
mov byte [esp + 0x440], 0x38
call fcn.0043851e
add esp, 0x18
mov byte [esp + 0x428], 0x36
mov esi, eax
cmp byte [esp + 0x34], bl
je 0x43c09a
mov byte [esp + 0x34], bl
mov eax, dword [esi + 4]
push ebx
push 1
push 0xf1
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
lea edi, [esp + 0xbc]
call fcn.00407a6c
mov byte [esp + 0x428], 0x39
mov eax, dword [esi + 4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x18]
shr eax, 0x1c
and al, 1
mov byte [esp + 0xd9], al
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xdc], eax
jne 0x43c0ef
cmp dword [0x469444], ebx
jne 0x43c0f8
push 1
mov eax, esi
call fcn.004302d2
lea eax, [esp + 0x24c]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
lea eax, [esp + 0x28]
call fcn.004096f1
lea ecx, [esp + 0x14]
lea eax, [esp + 0xa0]
call fcn.004096da
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0xa0]
je 0x43ca94
add eax, 0x1c
push eax
lea ecx, [esp + 0x1ec]
call fcn.00409166
sub esp, 0x1c
mov byte [esp + 0x444], 0x3a
mov ebx, esp
mov dword [esp + 0x30], esp
call fcn.0043345c
lea ecx, [esp + 0x1e8]
call fcn.00431dbf
add esp, 0x1c
push str.9fe8oiOEygu
lea eax, [esp + 0x1d0]
push eax
lea eax, [esp + 0x6c]
push eax
mov byte [esp + 0x434], 0x3b
call fcn.00407179
add esp, 0xc
lea ecx, [esp + 0x48]
push ecx
mov ecx, eax
mov byte [esp + 0x42c], 0x3c
call fcn.00433776
pop ecx
push eax
lea eax, [esp + 0x1d0]
push eax
lea eax, [esp + 0x238]
push eax
mov byte [esp + 0x434], 0x3d
call fcn.004071d2
add esp, 0xc
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x50]
call fcn.00401722
push ebx
push 1
lea ecx, [esp + 0x6c]
mov byte [esp + 0x430], 0x40
call fcn.00401722
lea eax, [esp + 0x30c]
push eax
call fcn.00407aa2
push 0x44df68
lea esi, [esp + 0x4c]
mov byte [esp + 0x42c], 0x41
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x42
lea edi, [esp + 0xb0]
stosb byte es:[edi], al
push dword [esp + 0xb0]
lea eax, [esp + 0x1a0]
push str.lanr
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x434], 0x43
call fcn.004094a6
mov byte [esp + 0x428], 0x44
lea ecx, [esp + 0x30c]
push ecx
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x1a4]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x41
call fcn.0040115a
cmp dword [esp + 0x320], ebx
je 0x43ca45
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x45
lea edi, [esp + 0x9c]
stosb byte es:[edi], al
push dword [esp + 0x9c]
lea eax, [esp + 0x1a0]
push 0x451998
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x434], 0x46
call fcn.004094a6
lea ecx, [esp + 0x328]
push ecx
mov byte [esp + 0x42c], 0x47
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x1a4]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x41
call fcn.0040115a
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x48
lea edi, [esp + 0xa8]
stosb byte es:[edi], al
push dword [esp + 0xa8]
lea eax, [esp + 0x1a0]
push 0x45199c
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x434], 0x49
call fcn.004094a6
lea ecx, [esp + 0x344]
push ecx
mov byte [esp + 0x42c], 0x4a
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x1a4]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x41
call fcn.0040115a
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x4b
lea edi, [esp + 0x8c]
stosb byte es:[edi], al
push dword [esp + 0x8c]
lea eax, [esp + 0x1a0]
push 0x4519a0
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x434], 0x4c
call fcn.004094a6
lea ecx, [esp + 0x360]
push ecx
mov byte [esp + 0x42c], 0x4d
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x1a4]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x41
call fcn.0040115a
cmp dword [esp + 0x358], ebx
je 0x43c4f8
xor edi, edi
lea eax, [esp + 0x344]
call fcn.0040192d
cmp word [eax], 0x3f
jne 0x43c4df
push 0xffffffffffffffff
lea eax, [esp + 0x348]
push eax
inc ebx
lea esi, [esp + 0x6c]
call fcn.004019c2
lea ecx, [esp + 0x37c]
push ecx
mov byte [esp + 0x42c], 0x4e
call fcn.00401918
push edi
push 1
mov byte [esp + 0x430], 0x41
call fcn.0040115a
xor ebx, ebx
jmp 0x43c598
lea eax, [esp + 0x37c]
push eax
lea eax, [esp + 0x348]
call fcn.00401918
jmp 0x43c598
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x310]
mov dword [esp + 0x18], 0x2f
call fcn.0040204e
cmp eax, 0xffffffff
jne 0x43c52c
lea eax, [esp + 0x37c]
push eax
lea eax, [esp + 0x310]
call fcn.00401918
jmp 0x43c56a
lea ebx, [eax + 1]
push 0xffffffffffffffff
lea eax, [esp + 0x310]
push eax
lea esi, [esp + 0x6c]
call fcn.004019c2
lea ecx, [esp + 0x37c]
push ecx
mov byte [esp + 0x42c], 0x4f
call fcn.00401918
push 0
push 1
mov byte [esp + 0x430], 0x41
call fcn.0040115a
xor ebx, ebx
push 1
lea eax, [esp + 0x18]
push eax
xor eax, eax
lea ecx, [esp + 0x384]
mov dword [esp + 0x1c], 0x3f
call fcn.00401fa2
cmp eax, 0xffffffff
je 0x43c598
lea ecx, [esp + 0x37c]
call fcn.0040194d
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x50
lea edi, [esp + 0xac]
stosb byte es:[edi], al
push dword [esp + 0xac]
lea eax, [esp + 0x1a0]
push 0x4519a4
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1f4]
mov byte [esp + 0x434], 0x51
call fcn.004094a6
lea ecx, [esp + 0x3f0]
push ecx
mov byte [esp + 0x42c], 0x52
call fcn.00401918
xor edi, edi
push ebx
inc edi
push edi
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x1a4]
call fcn.0040115a
push ebx
push edi
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x41
call fcn.0040115a
lea eax, [esp + 0x230]
push eax
lea ecx, [esp + 0x39c]
call fcn.00406fef
lea edx, [esp + 0x230]
lea ecx, [esp + 0x64]
call fcn.0043f9c7
lea ecx, [esp + 0x3b4]
push ecx
mov byte [esp + 0x42c], 0x53
call fcn.00401918
push ebx
push edi
lea esi, [esp + 0x6c]
call fcn.0040115a
mov byte [esp + 0x13c], bl
mov byte [esp + 0x428], 0x54
or dword [esp + 0x14], 0xffffffff
xor eax, eax
lea edi, [esp + 0x94]
stosb byte es:[edi], al
push dword [esp + 0x94]
lea eax, [esp + 0x1a0]
push 0x451704
call fcn.00409480
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1a0]
push eax
lea ecx, [esp + 0x1f0]
mov byte [esp + 0x430], 0x55
call fcn.004097a4
push ebx
mov dword [esp + 0x3d8], eax
mov byte [esp + 0x42c], 0x54
push 1
lea esi, [esp + 0x1a4]
call fcn.0040115a
xor eax, eax
lea edi, [esp + 0xa4]
stosb byte es:[edi], al
push dword [esp + 0xa4]
lea eax, [esp + 0x1a0]
push 0x451708
call fcn.00409480
lea eax, [esp + 0x19c]
push eax
lea edi, [esp + 0xb8]
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x42c], 0x56
call fcn.004093a2
push eax
lea ecx, [esp + 0x140]
mov byte [esp + 0x42c], 0x57
call fcn.0040a6c2
cmp byte [esp + 0xb4], bl
je 0x43c75b
mov byte [esp + 0xb4], bl
push ebx
push 1
lea esi, [esp + 0x1a4]
mov byte [esp + 0x430], 0x54
call fcn.0040115a
movzx eax, byte [esp + 0x13c]
neg eax
sbb eax, eax
test eax, method.std::basic_stringbuf_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__.virtual_52
je 0x43ca1d
lea eax, [esp + 0x140]
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x14]
lea eax, [esp + 0x3c]
call fcn.004096f1
lea ecx, [esp + 0x14]
lea eax, [esp + 0x84]
call fcn.004096da
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x84]
je 0x43ca1d
add eax, 0x1c
push eax
lea ecx, [esp + 0x1a0]
call fcn.00409166
lea edi, [esp + 0x2b4]
call fcn.00407bac
push 0x44df68
lea esi, [esp + 0x4c]
mov byte [esp + 0x42c], 0x59
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x5a
lea edi, [esp + 0x88]
stosb byte es:[edi], al
push dword [esp + 0x88]
lea eax, [esp + 0xe8]
push 0x44e138
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x434], 0x5b
call fcn.004094a6
lea ecx, [esp + 0x2b4]
push ecx
mov byte [esp + 0x42c], 0x5c
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0xec]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x59
call fcn.0040115a
cmp dword [esp + 0x2c8], ebx
je 0x43c9ee
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x5d
lea edi, [esp + 0x80]
stosb byte es:[edi], al
push dword [esp + 0x80]
lea eax, [esp + 0xe8]
push str.type
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x434], 0x5e
call fcn.004094a6
lea ecx, [esp + 0x2d0]
push ecx
mov byte [esp + 0x42c], 0x5f
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0xec]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x59
call fcn.0040115a
cmp dword [esp + 0x2e4], ebx
je 0x43c9ee
push 0x44df68
lea esi, [esp + 0x4c]
call fcn.004018f6
xor eax, eax
mov byte [esp + 0x428], 0x60
lea edi, [esp + 0x40]
stosb byte es:[edi], al
push dword [esp + 0x40]
lea eax, [esp + 0xe8]
push str.command
call fcn.00409480
mov eax, esi
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x434], 0x61
call fcn.004094a6
lea ecx, [esp + 0x2ec]
push ecx
mov byte [esp + 0x42c], 0x62
call fcn.00401918
push ebx
push 1
lea esi, [esp + 0x6c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0xec]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x50]
mov byte [esp + 0x430], 0x59
call fcn.0040115a
lea eax, [esp + 0x2b4]
push eax
lea eax, [esp + 0x3dc]
call fcn.00407c26
lea edi, [esp + 0x2b4]
call fcn.00407bc8
lea eax, [esp + 0x19c]
push eax
mov byte [esp + 0x42c], 0x54
call fcn.004091f4
lea eax, [esp + 0x3c]
call fcn.00409c11
jmp 0x43c7b1
lea eax, [esp + 0x30c]
push eax
lea eax, [esp + 0xc4]
call fcn.00407d5b
lea esi, [esp + 0x13c]
mov byte [esp + 0x428], 0x41
call fcn.0040808c
lea edi, [esp + 0x30c]
call fcn.00407b31
push ebx
push 1
lea ecx, [esp + 0x238]
call fcn.00401722
push ebx
push 1
lea ecx, [esp + 0x1d4]
call fcn.00401722
lea eax, [esp + 0x1e8]
push eax
mov byte [esp + 0x42c], 0x39
call fcn.004091f4
lea eax, [esp + 0x28]
call fcn.00409c11
xor ebx, ebx
jmp 0x43c120
lea eax, [esp + 0xbc]
push eax
mov eax, 0x469490
call fcn.00407e35
lea eax, [esp + 0xbc]
call fcn.00407a57
lea eax, [esp + 0x24c]
push eax
mov byte [esp + 0x42c], 0x35
call fcn.004091f4
lea eax, [esp + 0x208]
push eax
mov byte [esp + 0x42c], 0x33
call fcn.004091f4
lea eax, [esp + 0x10]
call fcn.00409c11
jmp 0x43bf5c
call fcn.00435c01
push 0x469388
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [esp + 0x1c4], bl
je 0x43cb0a
mov byte [esp + 0x1c4], bl
lea edi, [esp + 0x274]
call fcn.0040800c
lea edi, [esp + 0x294]
call fcn.0040800c
push ebx
push 1
lea esi, [esp + 0x16c]
call fcn.0040115a
push ebx
push 1
lea esi, [esp + 0x188]
call fcn.0040115a
mov ecx, dword [esp + 0x420]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x408]
xor ecx, esp
call fcn.0041b811
mov esp, ebp
pop ebp
ret