Function at 0x409cc0
Capabilities:
Check http status code
Query remote server for available data
Read data from internet
Receive data
Send data
Send http request

Disassembly:
push ebp
lea ebp, [esp - 0x54]
sub esp, 0x2d8
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x70]
mov edx, dword [ebp + 0x74]
push ebx
mov ebx, dword [ebp + 0x6c]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp + 0x7c]
push esi
mov esi, dword [ebp + 0x68]
mov dword [ebp - 0x254], eax
mov al, byte [ebp + 0x78]
push edi
mov edi, dword [ebp + 0x5c]
mov dword [ebp - 0x27c], edi
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x274], 0xffffffff
mov dword [ebp - 0x270], 0
mov byte [ebp - 0x229], 0
cmp al, 0xff
jne 0x409d3f
push 0
push 0
call fcn.00409260
add esp, 8
mov byte [ebp - 0x22a], al
test edi, edi
je 0x40aa32
cmp dword [ebp + 0x64], 0x24
jbe 0x40aa32
test esi, esi
je 0x40aa32
test ebx, ebx
je 0x40aa32
cmp dword [ebp - 0x278], 0
je 0x40aa32
cmp dword [ebp - 0x26c], 0
je 0x40aa32
lea ecx, [ebp - 0x228]
call fcn.00412160
movzx ecx, byte [esi]
push ecx
lea ecx, [ebp - 0x228]
call fcn.00412190
movzx edx, byte [ebx]
push edx
lea ecx, [ebp - 0x228]
call fcn.004121c0
lea eax, [ebp - 0x229]
push eax
push edi
lea ecx, [ebp - 0x228]
call fcn.004121e0
cmp byte [ebp - 0x229], 0
mov edi, eax
jne 0x40aa37
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
push eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x248], esi
xor edi, edi
call fcn.00472d8a
add esp, 4
call fcn.00472d69
mov ecx, eax
mov eax, 0x11
cdq
mov ebx, eax
xor ebx, edx
sub ebx, edx
mov eax, ecx
cdq
idiv ebx
add edx, 8
mov dword [ebp - 0x23c], edx
je 0x409ea6
mov ebx, edx
lea ebx, [ebx + ebx + 2]
push ebx
call fcn.00470008
mov edi, eax
add esp, 4
test edi, edi
je 0x409f1c
push ebx
push esi
push edi
call fcn.0046f6e0
add esp, 0xc
mov dword [ebp - 0x258], esi
cmp dword [ebp - 0x23c], esi
jbe 0x409ea6
call fcn.00472d69
mov esi, eax
call fcn.00472d69
mov ecx, eax
xor edx, edx
mov eax, esi
mov ebx, 0x1f
div ebx
mov eax, esi
cmp edx, 5
jae 0x409e72
xor edx, edx
mov ecx, 0xa
div ecx
add edx, 0x30
jmp 0x409e87
shl ecx, 5
not ecx
xor edx, edx
and ecx, 0x20
mov esi, 0x1a
div esi
lea edx, [ecx + edx + 0x41]
mov eax, dword [ebp - 0x258]
mov word [edi + eax*2], dx
inc eax
mov dword [ebp - 0x258], eax
cmp eax, dword [ebp - 0x23c]
jb 0x409e44
mov esi, dword [ebp - 0x248]
cmp dword [ebp - 0x23c], 0
je 0x409ed2
push 1
call dword [sym.imp.KERNEL32.dll_InitAtomTable]
test eax, eax
je 0x409ecc
push edi
call dword [sym.imp.KERNEL32.dll_AddAtomW]
movzx esi, ax
xor edx, edx
cmp dx, si
jne 0x409ed2
call dword [sym.imp.KERNEL32.dll_GetLastError]
test edi, edi
je 0x409edf
push edi
call fcn.0046eb03
add esp, 4
lea ecx, [ebp - 0x228]
mov word [ebp - 0x1bc], si
call fcn.00412230
mov esi, eax
inc esi
lea eax, [esi + 8]
cmp eax, 0x400
ja 0x409f24
call fcn.004704a0
mov eax, esp
test eax, eax
je 0x409f12
mov dword [eax], 0xcccc
add eax, 8
mov ebx, eax
mov dword [ebp - 0x258], ebx
jmp 0x409f42
mov dword [ebp - 0x23c], esi
jmp 0x409ed2
push eax
call fcn.00470008
add esp, 4
test eax, eax
je 0x409f3a
mov dword [eax], 0xdddd
add eax, 8
mov ebx, eax
mov dword [ebp - 0x258], eax
test ebx, ebx
je 0x40aa1b
push esi
push ebx
lea ecx, [ebp - 0x228]
call fcn.00412240
mov edi, eax
test edi, edi
jne 0x40aa09
mov eax, dword [str.DATA]
mov cx, word [0x4a69b8]
mov dword [ebp + 0x48], eax
lea eax, [ebp + 0x48]
mov word [ebp + 0x4c], cx
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x409f80
sub eax, edx
add esi, eax
lea eax, [esi + 8]
cmp eax, 0x400
ja 0x409fa8
call fcn.004704a0
mov eax, esp
test eax, eax
je 0x409fbe
mov dword [eax], 0xcccc
jmp 0x409fbb
push eax
call fcn.00470008
add esp, 4
test eax, eax
je 0x409fbe
mov dword [eax], 0xdddd
add eax, 8
mov dword [ebp - 0x250], eax
test eax, eax
je 0x40a9dd
lea edx, [ebp + 0x48]
push edx
mov ebx, eax
push esi
xor edi, edi
push ebx
mov dword [ebx], edi
call fcn.0046fcbd
mov eax, dword [ebp - 0x258]
push eax
push esi
push ebx
call fcn.00489f49
add esp, 0x18
push 0x4d34ba
mov dword [ebp - 0x234], edi
mov dword [ebp - 0x238], edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
mov eax, esi
call fcn.004704a0
mov ebx, esp
push edi
push edi
push esi
push ebx
push 0xffffffffffffffff
push 0x4d34ba
push edi
push edi
mov byte [ebx], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp word [0x4d30ba], di
je 0x40a5ad
cmp byte [ebx], 0
je 0x40a5ad
movzx ecx, word [0x4d30b8]
xor eax, eax
push eax
push 3
push 0x4d393a
push 0x4d38ba
push ecx
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x244], eax
push 0x4d30ba
lea esi, [ebp - 0x264]
lea edi, [ebp - 0x240]
mov eax, str.Avanquest
call fcn.004091f0
add esp, 0x18
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x40a583
mov ecx, 0x49532c
mov eax, 0x4949c4
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40a0d6
test dx, dx
je 0x40a0d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40a0d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x40a0b0
xor eax, eax
jmp 0x40a0db
sbb eax, eax
sbb eax, 0xffffffff
xor edx, edx
test eax, eax
mov eax, dword [ebp - 0x250]
sete dl
lea esi, [eax + 1]
mov dword [ebp - 0x24c], edx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a0f1
sub eax, esi
mov esi, eax
mov dword [ebp - 0x25c], esi
test edx, edx
je 0x40a1c6
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a110
sub eax, edx
lea edi, [eax + esi + 2]
lea eax, [edi + 8]
cmp eax, 0x400
ja 0x40a13d
call fcn.004704a0
mov esi, esp
test esi, esi
je 0x40a1b1
mov dword [esi], 0xcccc
add esi, 8
jmp 0x40a155
push eax
call fcn.00470008
add esp, 4
test eax, eax
je 0x40a153
mov dword [eax], 0xdddd
add eax, 8
mov esi, eax
test esi, esi
je 0x40a1b1
mov edx, dword [ebp - 0x250]
push edx
push ebx
push str._s__s
push edi
push esi
call fcn.00470ead
mov eax, dword [ebp - 0x264]
add esp, 0x14
push 0
push 0x84400100
push 0
push 0
push 0
push esi
push 0x4a68d0
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x244], eax
test eax, eax
jne 0x40a1bb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov dword [ebp - 0x230], eax
call fcn.0042dc80
add esp, 4
jmp 0x40a1fc
mov dword [ebp - 0x230], 8
push esi
call fcn.0042dc80
add esp, 4
jmp 0x40a1fc
mov ecx, dword [ebp - 0x264]
push 0
push 0x84400100
push 0
push 0
push 0
push ebx
push str.POST
push ecx
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x244], eax
test eax, eax
jne 0x40a209
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jne 0x40a30d
mov esi, dword [ebp - 0x254]
push esi
mov dword [ebp - 0x260], 0
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40a22c
mov dword [ebp - 0x254], esi
jmp 0x40a238
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x24c], 0
jne 0x40a280
mov eax, str.C62T3EC4MHSZBC3NR7P2C99Y6Z9GFJ54MYKVTG2RTY9M5421R44W8TMK5RCH0NBVWHBGCB9MFJUD25ENUS77VYJ7XMZR4PD
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a250
push 0
sub eax, edx
push 0x80
lea edx, [ebp - 0x38]
push edx
push eax
push str.C62T3EC4MHSZBC3NR7P2C99Y6Z9GFJ54MYKVTG2RTY9M5421R44W8TMK5RCH0NBVWHBGCB9MFJUD25ENUS77VYJ7XMZR4PD
call fcn.0040f910
add esp, 0x14
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x40a30d
mov ebx, dword [ebp - 0x25c]
mov edi, dword [ebp - 0x230]
mov esi, dword [ebp - 0x244]
cmp dword [ebp - 0x24c], 0
je 0x40a2ac
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
jmp 0x40a2cf
lea eax, [ebp - 0x38]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a2b2
mov ecx, dword [ebp - 0x250]
push ebx
push ecx
sub eax, edx
push eax
lea edx, [ebp - 0x38]
push edx
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestA]
test eax, eax
jne 0x40a2db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x40a2f7
mov eax, dword [ebp - 0x254]
push edi
push 7
push edi
push esi
push eax
call dword [sym.imp.WININET.dll_InternetErrorDlg]
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 0x2f00
jne 0x40a332
test edi, edi
je 0x40a292
mov dword [ebp - 0x230], edi
mov ebx, dword [ebp - 0x234]
cmp dword [ebp - 0x244], 0
je 0x40a589
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x40a589
mov dword [ebp - 0x230], edi
test edi, edi
jne 0x40a30d
mov eax, dword [ebp - 0x244]
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
xor esi, esi
push esi
lea ecx, [ebp - 0x25c]
push ecx
lea edx, [ebp - 0xb8]
push edx
push 0x13
push eax
mov ebx, 0x1f4
mov dword [ebp - 0x25c], 0x80
call edi
test eax, eax
jne 0x40a37b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x40a38c
lea ecx, [ebp - 0xb8]
push ecx
call fcn.004706d6
add esp, 4
mov ebx, eax
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x248], ebx
test esi, esi
jne 0x40a30d
cmp ebx, 0x12c
jae 0x40a30d
mov ecx, dword [ebp - 0x244]
xor ebx, ebx
push ebx
lea edx, [ebp - 0x254]
push edx
lea eax, [ebp - 0x1b8]
push eax
push 5
push ecx
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x254], 0x100
call edi
test eax, eax
jne 0x40a3e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x40a3fd
lea edx, [ebp - 0x1b8]
push edx
call fcn.004706d6
add esp, 4
mov ebx, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x230], esi
test esi, esi
jne 0x40a30d
test ebx, ebx
jbe 0x40a442
mov esi, dword [ebp - 0x24c]
inc esi
push esi
call fcn.00470008
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x40a433
push esi
push 0
push ebx
call fcn.0046f6e0
add esp, 0xc
jmp 0x40a448
mov dword [ebp - 0x230], 8
jmp 0x40a50f
mov ebx, dword [ebp - 0x234]
mov edi, dword [ebp - 0x244]
xor esi, esi
mov dword [ebp - 0x234], esi
mov dword [ebp - 0x260], esi
lea esp, [esp]
push 0
push 0
lea eax, [ebp - 0x234]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x40a52e
mov eax, dword [ebp - 0x234]
test eax, eax
je 0x40a52e
cmp dword [ebp - 0x24c], 0
jne 0x40a4b7
test esi, esi
jne 0x40a4a1
inc eax
push eax
call fcn.00470008
add esp, 4
jmp 0x40a4af
lea ecx, [eax + esi + 1]
push ecx
push ebx
call fcn.00474a64
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x234]
test ebx, ebx
je 0x40a56e
lea edx, [ebp - 0x260]
push edx
push eax
lea eax, [esi + ebx]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x40a55a
mov eax, dword [ebp - 0x260]
test eax, eax
je 0x40a55a
add esi, eax
cmp dword [ebp - 0x24c], 0
jne 0x40a460
cmp esi, 0xffff
jbe 0x40a460
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x230], 0x7a
test ebx, ebx
je 0x40a313
mov eax, dword [ebp - 0x238]
test eax, eax
jbe 0x40a313
mov byte [eax + ebx], 0
jmp 0x40a313
mov dword [ebp - 0x238], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
cmp eax, 0x12
je 0x40a54e
cmp dword [ebp - 0x234], 0
jne 0x40a50f
mov dword [ebp - 0x230], 0
jmp 0x40a50f
mov dword [ebp - 0x238], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
jmp 0x40a50f
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x230], 0x4b8
jmp 0x40a313
mov ebx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x40a59a
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x40a5bd
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x40a5bd
mov ebx, dword [ebp - 0x234]
mov dword [ebp - 0x230], 0x57
mov eax, dword [ebp - 0x230]
mov edi, eax
mov dword [ebp - 0x240], 0
test eax, eax
je 0x40a612
cmp eax, 0x7a
jne 0x40a5f0
cmp byte [ebp - 0x22a], 0
sete dl
add dl, 0x1e
mov byte [ebp - 0x229], dl
jmp 0x40a70f
cmp eax, 0x2ee0
jb 0x40a6ff
cmp eax, 0x2f8f
ja 0x40a6ff
mov byte [ebp - 0x229], 0x20
jmp 0x40a70f
mov eax, dword [ebp - 0x248]
cmp eax, 0x1f4
jae 0x40a708
cmp eax, 0x194
je 0x40a708
cmp eax, 0x197
je 0x40a708
test ebx, ebx
jne 0x40a676
cmp byte [ebp - 0x22a], bl
setne al
lea eax, [eax*4 + 0x1f]
mov byte [ebp - 0x229], al
mov eax, dword [ebp - 0x250]
push eax
call fcn.0042dc80
mov ebx, dword [ebp - 0x258]
add esp, 4
push ebx
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
cmp byte [ebx], 0
je 0x40a6f6
mov ecx, dword [ebp - 0x238]
push ecx
push ebx
lea ecx, [ebp - 0x228]
call fcn.00413d80
test eax, eax
je 0x40a69e
mov dword [ebp - 0x240], 1
jmp 0x40a70f
cmp byte [ebp - 0x22a], 0
je 0x40a6ff
xor esi, esi
or ecx, 0xffffffff
cmp byte [ebx], 0
je 0x40a6f6
mov al, byte [esi + ebx]
cmp al, 0x3c
jne 0x40a6bc
mov ecx, esi
jmp 0x40a6ef
cmp ecx, 0xffffffff
jae 0x40a6ef
cmp al, 0x3e
jne 0x40a6ef
mov eax, esi
sub eax, ecx
add eax, 0xffffffec
cmp eax, 0xb4
ja 0x40a6ec
lea ecx, [ecx + ebx + 1]
push str.password
mov byte [esi + ebx], 0
call fcn.004092f0
add esp, 4
test eax, eax
jne 0x40a6ff
or ecx, 0xffffffff
inc esi
cmp byte [esi + ebx], 0
jne 0x40a6b1
mov byte [ebp - 0x229], 0x23
jmp 0x40a70f
mov byte [ebp - 0x229], 0x1f
jmp 0x40a70f
mov byte [ebp - 0x229], 0x30
test ebx, ebx
je 0x40a71c
push ebx
call fcn.0046eb03
add esp, 4
cmp dword [ebp - 0x240], 0
je 0x40a9e9
mov ax, word [ebp - 0x1bc]
movzx edx, ax
xor edi, edi
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x240], 1
test ax, ax
je 0x40a901
mov eax, dword [ebp - 0x268]
push eax
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x248], edi
call fcn.00472d8a
mov esi, dword [ebp - 0x23c]
mov ebx, esi
add esp, 4
mov dword [ebp - 0x268], ebx
call fcn.00472d69
cmp esi, edi
jbe 0x40a81a
lea esi, [esi + esi + 2]
push esi
call fcn.00470008
add esp, 4
mov dword [ebp - 0x238], eax
test eax, eax
je 0x40a80e
push esi
mov ecx, eax
push edi
push ecx
call fcn.0046f6e0
add esp, 0xc
test ebx, ebx
jbe 0x40a81a
lea esp, [esp]
call fcn.00472d69
mov esi, eax
call fcn.00472d69
mov ecx, eax
xor edx, edx
mov eax, esi
mov ebx, 0x1f
div ebx
mov eax, esi
cmp edx, 5
jae 0x40a7de
xor edx, edx
mov ecx, 0xa
div ecx
add edx, 0x30
jmp 0x40a7f3
shl ecx, 5
not ecx
xor edx, edx
and ecx, 0x20
mov esi, 0x1a
div esi
lea edx, [ecx + edx + 0x41]
mov eax, dword [ebp - 0x238]
mov word [eax + edi*2], dx
inc edi
cmp edi, dword [ebp - 0x23c]
jb 0x40a7b0
mov ebx, dword [ebp - 0x268]
jmp 0x40a81a
xor ebx, ebx
mov dword [ebp - 0x248], 8
mov edi, dword [ebp - 0x248]
test ebx, ebx
je 0x40a9ae
mov ebx, dword [ebp - 0x23c]
lea eax, [ebx + ebx + 0xa]
cmp eax, 0x400
ja 0x40a84c
call fcn.004704a0
mov eax, esp
test eax, eax
je 0x40a862
mov dword [eax], 0xcccc
jmp 0x40a85f
push eax
call fcn.00470008
add esp, 4
test eax, eax
je 0x40a862
mov dword [eax], 0xdddd
add eax, 8
mov esi, eax
test esi, esi
je 0x40a9ae
lea eax, [ebx + 1]
push eax
push eax
push 0
push esi
call fcn.0046f6e0
mov ecx, dword [ebp - 0x25c]
add esp, 0xc
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetAtomNameW]
test eax, eax
jbe 0x40a9a1
mov ecx, dword [ebp - 0x238]
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40a8c6
test dx, dx
je 0x40a8c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40a8c6
add eax, 4
add ecx, 4
test dx, dx
jne 0x40a8a0
xor eax, eax
jmp 0x40a8cb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40a8d9
mov dword [ebp - 0x240], 0
cmp dword [esi - 8], 0xdddd
lea eax, [esi - 8]
jne 0x40a8ee
push eax
call fcn.0046eb03
add esp, 4
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x40a901
push eax
call fcn.0046eb03
add esp, 4
cmp dword [ebp - 0x240], 0
je 0x40a9e9
mov ax, word [ebp - 0x220]
mov edx, dword [ebp - 0x224]
movzx esi, ax
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], esi
cmp ax, 1
je 0x40a936
cmp ax, 3
jne 0x40a950
mov ecx, dword [ebp + 0x64]
mov edx, dword [ebp - 0x27c]
lea eax, [ebp - 0x20c]
push eax
push ecx
push edx
call fcn.0046fcbd
add esp, 0xc
cmp si, 2
je 0x40a960
cmp si, 3
jne 0x40a9e9
mov eax, dword [ebp - 0x284]
test eax, eax
je 0x40a9b8
mov edx, dword [ebp + 0x64]
lea ecx, [ebp - 0x1e4]
push ecx
push edx
push eax
call fcn.0046fcbd
mov eax, dword [ebp - 0x250]
add esp, 0xc
push eax
call fcn.0042dc80
mov ebx, dword [ebp - 0x258]
add esp, 4
push ebx
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x40a8d9
mov edi, 8
jmp 0x40a8ee
mov eax, dword [ebp - 0x250]
push eax
mov edi, 0x57
call fcn.0042dc80
mov ebx, dword [ebp - 0x258]
add esp, 4
push ebx
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
mov byte [ebp - 0x229], 0x1f
mov edi, 8
mov eax, dword [ebp - 0x250]
push eax
call fcn.0042dc80
mov ebx, dword [ebp - 0x258]
add esp, 4
push ebx
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
push ebx
mov byte [ebp - 0x229], 0x22
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
push ebx
mov byte [ebp - 0x229], 0x1f
mov edi, 8
call fcn.0042dc80
add esp, 4
jmp 0x40aa37
mov edi, 0x57
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x40aa49
mov ecx, dword [ebp - 0x274]
mov dword [eax], ecx
mov eax, dword [ebp - 0x26c]
test eax, eax
je 0x40aa5d
mov dx, word [ebp - 0x270]
mov word [eax], dx
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x40aa6f
mov cl, byte [ebp - 0x229]
mov byte [eax], cl
mov eax, edi
lea esp, [ebp - 0x290]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x50]
xor ecx, ebp
call fcn.0046ebfa
add ebp, 0x54
mov esp, ebp
pop ebp
ret