Function at 0x49f460
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, 0x2dc
mov eax, dword [0x4cd724]
xor eax, ebp
mov dword [ebp + 0x50], eax
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x70]
mov edx, dword [ebp + 0x74]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp + 0x7c]
push ebx
mov ebx, dword [ebp + 0x6c]
mov dword [ebp - 0x254], eax
xor eax, eax
push esi
mov esi, dword [ebp + 0x68]
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x274], eax
mov byte [ebp - 0x229], al
mov al, byte [ebp + 0x78]
push edi
mov edi, dword [ebp + 0x5c]
mov dword [ebp - 0x278], edi
mov dword [ebp - 0x270], ebx
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x284], 0xffffffff
cmp al, 0xff
jne 0x49f4e2
push 0
push 0
call fcn.0049ea00
add esp, 8
mov byte [ebp - 0x231], al
test edi, edi
je 0x4a0207
cmp dword [ebp + 0x64], 0x24
jbe 0x4a0207
test esi, esi
je 0x4a0207
test ebx, ebx
je 0x4a0207
cmp dword [ebp - 0x280], 0
je 0x4a0207
cmp dword [ebp - 0x27c], 0
je 0x4a0207
cmp byte [esi], 0
jne 0x49f532
cmp byte [ebx], 0
je 0x4a0211
lea ecx, [ebp - 0x228]
call fcn.004a5470
movzx ecx, byte [esi]
push ecx
lea ecx, [ebp - 0x228]
call fcn.004a54a0
movzx edx, byte [ebx]
push edx
lea ecx, [ebp - 0x228]
call fcn.004a54d0
lea eax, [ebp - 0x229]
push eax
push edi
lea ecx, [ebp - 0x228]
call fcn.004a54f0
cmp byte [ebp - 0x229], 0
mov dword [ebp - 0x230], eax
jne 0x4a0211
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor esi, esi
push eax
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x248], esi
xor edi, edi
call fcn.0046cec3
add esp, 4
call fcn.0046ced5
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 - 0x240], edx
je 0x49f662
mov ebx, edx
lea ebx, [ebx + ebx + 2]
push ebx
call fcn.004683d7
mov edi, eax
add esp, 4
test edi, edi
je 0x49f6d8
push ebx
push esi
push edi
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0x258], esi
cmp dword [ebp - 0x240], esi
jbe 0x49f662
lea esp, [esp]
call fcn.0046ced5
mov esi, eax
call fcn.0046ced5
mov ecx, eax
xor edx, edx
mov eax, esi
mov ebx, 0x1f
div ebx
mov eax, esi
cmp edx, 5
jae 0x49f62e
xor edx, edx
mov ecx, 0xa
div ecx
add edx, 0x30
jmp 0x49f643
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 - 0x240]
jb 0x49f600
mov esi, dword [ebp - 0x248]
cmp dword [ebp - 0x240], 0
je 0x49f68e
push 1
call dword [sym.imp.KERNEL32.dll_InitAtomTable]
test eax, eax
je 0x49f688
push edi
call dword [sym.imp.KERNEL32.dll_AddAtomW]
movzx esi, ax
xor edx, edx
cmp dx, si
jne 0x49f68e
call dword [sym.imp.KERNEL32.dll_GetLastError]
test edi, edi
je 0x49f69b
push edi
call fcn.004684a1
add esp, 4
lea ecx, [ebp - 0x228]
mov word [ebp - 0x1bc], si
call fcn.004a5540
mov esi, eax
inc esi
lea eax, [esi + 8]
cmp eax, 0x400
ja 0x49f6e0
call fcn.0046d420
mov eax, esp
test eax, eax
je 0x49f6ce
mov dword [eax], 0xcccc
add eax, 8
mov edi, eax
mov dword [ebp - 0x258], edi
jmp 0x49f6fe
mov dword [ebp - 0x240], esi
jmp 0x49f68e
push eax
call fcn.004683d7
add esp, 4
test eax, eax
je 0x49f6f6
mov dword [eax], 0xdddd
add eax, 8
mov edi, eax
mov dword [ebp - 0x258], eax
test edi, edi
je 0x4a01eb
push esi
push edi
lea ecx, [ebp - 0x228]
call fcn.004a5550
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x4a01d9
mov eax, dword [str.DATA]
mov cx, word [0x4c4b64]
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 0x49f740
sub eax, edx
add esi, eax
lea eax, [esi + 8]
cmp eax, 0x400
ja 0x49f768
call fcn.0046d420
mov eax, esp
test eax, eax
je 0x49f77e
mov dword [eax], 0xcccc
jmp 0x49f77b
push eax
call fcn.004683d7
add esp, 4
test eax, eax
je 0x49f77e
mov dword [eax], 0xdddd
add eax, 8
mov dword [ebp - 0x250], eax
test eax, eax
je 0x4a01a8
lea edx, [ebp + 0x48]
push edx
mov ebx, eax
push esi
xor edi, edi
push ebx
mov dword [ebx], edi
call fcn.00469f5d
mov eax, dword [ebp - 0x258]
push eax
push esi
push ebx
call fcn.0047cf64
add esp, 0x18
push 0x4ee442
mov dword [ebp - 0x238], edi
mov dword [ebp - 0x23c], edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea esi, [eax + eax + 2]
mov eax, esi
call fcn.0046d420
mov ebx, esp
push edi
push edi
push esi
push ebx
push 0xffffffffffffffff
push 0x4ee442
push edi
push edi
mov byte [ebx], 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
cmp word [0x4ee042], di
je 0x49fd6d
cmp byte [ebx], 0
je 0x49fd6d
movzx ecx, word [0x4ee040]
xor eax, eax
push eax
push 3
push 0x4ee8c2
push 0x4ee842
push ecx
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x244], eax
push 0x4ee042
lea esi, [ebp - 0x268]
lea edi, [ebp - 0x264]
mov eax, str.Avanquest
call fcn.0049e990
add esp, 0x18
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x49fd43
mov ecx, 0x4c4f94
mov eax, 0x4c4ae0
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x49f896
test dx, dx
je 0x49f892
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x49f896
add eax, 4
add ecx, 4
test dx, dx
jne 0x49f870
xor eax, eax
jmp 0x49f89b
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 0x49f8b1
sub eax, esi
mov esi, eax
mov dword [ebp - 0x25c], esi
test edx, edx
je 0x49f986
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f8d0
sub eax, edx
lea edi, [eax + esi + 2]
lea eax, [edi + 8]
cmp eax, 0x400
ja 0x49f8fd
call fcn.0046d420
mov esi, esp
test esi, esi
je 0x49f971
mov dword [esi], 0xcccc
add esi, 8
jmp 0x49f915
push eax
call fcn.004683d7
add esp, 4
test eax, eax
je 0x49f913
mov dword [eax], 0xdddd
add eax, 8
mov esi, eax
test esi, esi
je 0x49f971
mov edx, dword [ebp - 0x250]
push edx
push ebx
push str._s__s
push edi
push esi
call fcn.00469f3f
mov eax, dword [ebp - 0x268]
add esp, 0x14
push 0
push 0x84400100
push 0
push 0
push 0
push esi
push 0x4c4f88
push eax
call dword [sym.imp.WININET.dll_HttpOpenRequestA]
mov dword [ebp - 0x244], eax
test eax, eax
jne 0x49f97b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov dword [ebp - 0x230], eax
call fcn.0041a6d0
add esp, 4
jmp 0x49f9bc
mov dword [ebp - 0x230], 8
push esi
call fcn.0041a6d0
add esp, 4
jmp 0x49f9bc
mov ecx, dword [ebp - 0x268]
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 0x49f9c9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
jne 0x49facd
mov esi, dword [ebp - 0x254]
push esi
mov dword [ebp - 0x260], 0
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x49f9ec
mov dword [ebp - 0x254], esi
jmp 0x49f9f8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x24c], 0
jne 0x49fa40
mov eax, str.C62T3EC4MHSZBC3NR7P2C99Y6Z9GFJ54MYKVTG2RTY9M5421R44W8TMK5RCH0NBVWHBGCB9MFJUD25ENUS77VYJ7XMZR4PD
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fa10
push 0
sub eax, edx
push 0x80
lea edx, [ebp - 0x38]
push edx
push eax
push str.C62T3EC4MHSZBC3NR7P2C99Y6Z9GFJ54MYKVTG2RTY9M5421R44W8TMK5RCH0NBVWHBGCB9MFJUD25ENUS77VYJ7XMZR4PD
call fcn.004a50f0
add esp, 0x14
mov dword [ebp - 0x230], eax
test eax, eax
jne 0x49facd
mov ebx, dword [ebp - 0x25c]
mov edi, dword [ebp - 0x230]
mov esi, dword [ebp - 0x244]
cmp dword [ebp - 0x24c], 0
je 0x49fa6c
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.WININET.dll_HttpSendRequestW]
jmp 0x49fa8f
lea eax, [ebp - 0x38]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fa72
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 0x49fa9b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
test edi, edi
jne 0x49fab7
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 0x49faf2
test edi, edi
je 0x49fa52
mov dword [ebp - 0x230], edi
mov ebx, dword [ebp - 0x238]
cmp dword [ebp - 0x244], 0
je 0x49fd49
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x49fd49
mov dword [ebp - 0x230], edi
test edi, edi
jne 0x49facd
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 0x49fb3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x49fb4c
lea ecx, [ebp - 0xb8]
push ecx
call fcn.0046a9ea
add esp, 4
mov ebx, eax
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x248], ebx
test esi, esi
jne 0x49facd
cmp ebx, 0x12c
jae 0x49facd
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 0x49fba6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
jmp 0x49fbbd
lea edx, [ebp - 0x1b8]
push edx
call fcn.0046a9ea
add esp, 4
mov ebx, eax
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x230], esi
test esi, esi
jne 0x49facd
test ebx, ebx
jbe 0x49fc02
mov esi, dword [ebp - 0x24c]
inc esi
push esi
call fcn.004683d7
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x49fbf3
push esi
push 0
push ebx
call fcn.004677c0
add esp, 0xc
jmp 0x49fc08
mov dword [ebp - 0x230], 8
jmp 0x49fccf
mov ebx, dword [ebp - 0x238]
mov edi, dword [ebp - 0x244]
xor esi, esi
mov dword [ebp - 0x238], esi
mov dword [ebp - 0x260], esi
lea esp, [esp]
push 0
push 0
lea eax, [ebp - 0x238]
push eax
push edi
call dword [sym.imp.WININET.dll_InternetQueryDataAvailable]
test eax, eax
je 0x49fcee
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x49fcee
cmp dword [ebp - 0x24c], 0
jne 0x49fc77
test esi, esi
jne 0x49fc61
inc eax
push eax
call fcn.004683d7
add esp, 4
jmp 0x49fc6f
lea ecx, [eax + esi + 1]
push ecx
push ebx
call fcn.0046e604
add esp, 8
mov ebx, eax
mov eax, dword [ebp - 0x238]
test ebx, ebx
je 0x49fd2e
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 0x49fd1a
mov eax, dword [ebp - 0x260]
test eax, eax
je 0x49fd1a
add esi, eax
cmp dword [ebp - 0x24c], 0
jne 0x49fc20
cmp esi, 0xffff
jbe 0x49fc20
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x230], 0x7a
test ebx, ebx
je 0x49fad3
mov eax, dword [ebp - 0x23c]
test eax, eax
jbe 0x49fad3
mov byte [eax + ebx], 0
jmp 0x49fad3
mov dword [ebp - 0x23c], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
cmp eax, 0x12
je 0x49fd0e
cmp dword [ebp - 0x238], 0
jne 0x49fccf
mov dword [ebp - 0x230], 0
jmp 0x49fccf
mov dword [ebp - 0x23c], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x230], eax
jmp 0x49fccf
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x230], 0x4b8
jmp 0x49fad3
mov ebx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x49fd5a
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x49fd7d
push eax
call dword [sym.imp.WININET.dll_InternetCloseHandle]
jmp 0x49fd7d
mov ebx, dword [ebp - 0x238]
mov dword [ebp - 0x230], 0x57
mov eax, dword [ebp - 0x230]
xor edi, edi
mov dword [ebp - 0x230], eax
test eax, eax
je 0x49fdc2
cmp eax, 0x7a
jne 0x49fda0
mov byte [ebp - 0x229], 0x1e
jmp 0x49fed8
cmp eax, 0x2ee0
jb 0x49fec8
cmp eax, 0x2f8f
ja 0x49fec8
mov byte [ebp - 0x229], 0x20
jmp 0x49fed8
mov eax, dword [ebp - 0x248]
cmp eax, 0x1f4
jb 0x49fddb
mov byte [ebp - 0x229], 0x21
jmp 0x49fed8
cmp eax, 0x194
jne 0x49fdee
mov byte [ebp - 0x229], 0x2e
jmp 0x49fed8
cmp eax, 0x197
jne 0x49fe01
mov byte [ebp - 0x229], 0x2d
jmp 0x49fed8
test ebx, ebx
jne 0x49fe3c
mov al, byte [ebp - 0x231]
neg al
sbb al, al
and al, 0xd
add al, 0x1f
mov byte [ebp - 0x229], al
mov eax, dword [ebp - 0x250]
push eax
call fcn.0041a6d0
mov edi, dword [ebp - 0x258]
add esp, 4
push edi
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
cmp byte [ebx], 0
je 0x49fed1
mov edx, dword [ebp - 0x23c]
push edx
push ebx
lea ecx, [ebp - 0x228]
call fcn.004a5570
test eax, eax
je 0x49fe63
mov edi, 1
jmp 0x49fed8
cmp byte [ebp - 0x231], 0
je 0x49fec8
xor esi, esi
or ecx, 0xffffffff
cmp byte [ebx], 0
je 0x49febf
mov al, byte [esi + ebx]
cmp al, 0x3c
jne 0x49fe81
mov ecx, esi
jmp 0x49feb8
cmp ecx, 0xffffffff
jae 0x49feb8
cmp al, 0x3e
jne 0x49feb8
mov eax, esi
sub eax, ecx
add eax, 0xffffffec
cmp eax, 0xb4
ja 0x49feb5
lea ecx, [ecx + ebx + 1]
push 0x4c4b18
mov byte [esi + ebx], 0
call fcn.0049ea90
add esp, 4
test eax, eax
jne 0x49fdf5
or ecx, 0xffffffff
inc esi
cmp byte [esi + ebx], 0
jne 0x49fe76
mov byte [ebp - 0x229], 0x23
jmp 0x49fed8
mov byte [ebp - 0x229], 0x1f
jmp 0x49fed8
mov byte [ebp - 0x229], 0x2c
test ebx, ebx
je 0x49fee5
push ebx
call fcn.004684a1
add esp, 4
test edi, edi
je 0x4a01b9
mov ax, word [ebp - 0x1bc]
movzx ecx, ax
xor edi, edi
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x264], 1
test ax, ax
je 0x4a00c1
mov edx, dword [ebp - 0x26c]
push edx
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x248], edi
call fcn.0046cec3
mov esi, dword [ebp - 0x240]
mov ebx, esi
add esp, 4
mov dword [ebp - 0x26c], ebx
call fcn.0046ced5
cmp esi, edi
jbe 0x49ffda
lea esi, [esi + esi + 2]
push esi
call fcn.004683d7
add esp, 4
mov dword [ebp - 0x23c], eax
test eax, eax
je 0x49ffce
push esi
push edi
push eax
call fcn.004677c0
add esp, 0xc
test ebx, ebx
jbe 0x49ffda
mov edi, edi
call fcn.0046ced5
mov esi, eax
call fcn.0046ced5
mov ecx, eax
xor edx, edx
mov eax, esi
mov ebx, 0x1f
div ebx
mov eax, esi
cmp edx, 5
jae 0x49ff9e
xor edx, edx
mov ecx, 0xa
div ecx
add edx, 0x30
jmp 0x49ffb3
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 - 0x23c]
mov word [eax + edi*2], dx
inc edi
cmp edi, dword [ebp - 0x240]
jb 0x49ff70
mov ebx, dword [ebp - 0x26c]
jmp 0x49ffda
xor ebx, ebx
mov dword [ebp - 0x248], 8
mov edi, dword [ebp - 0x248]
test ebx, ebx
je 0x4a0174
mov ebx, dword [ebp - 0x240]
lea eax, [ebx + ebx + 0xa]
cmp eax, 0x400
ja 0x4a000c
call fcn.0046d420
mov eax, esp
test eax, eax
je 0x4a0022
mov dword [eax], 0xcccc
jmp 0x4a001f
push eax
call fcn.004683d7
add esp, 4
test eax, eax
je 0x4a0022
mov dword [eax], 0xdddd
add eax, 8
mov esi, eax
test esi, esi
je 0x4a0174
lea eax, [ebx + 1]
push eax
push eax
push 0
push esi
call fcn.004677c0
mov ecx, dword [ebp - 0x25c]
add esp, 0xc
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetAtomNameW]
test eax, eax
jbe 0x4a0167
mov ecx, dword [ebp - 0x23c]
mov eax, esi
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4a0086
test dx, dx
je 0x4a0082
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4a0086
add eax, 4
add ecx, 4
test dx, dx
jne 0x4a0060
xor eax, eax
jmp 0x4a008b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a0099
mov dword [ebp - 0x264], 0
cmp dword [esi - 8], 0xdddd
lea eax, [esi - 8]
jne 0x4a00ae
push eax
call fcn.004684a1
add esp, 4
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x4a00c1
push eax
call fcn.004684a1
add esp, 4
cmp dword [ebp - 0x264], 0
mov dword [ebp - 0x230], edi
je 0x4a01b9
mov ax, word [ebp - 0x220]
mov edx, dword [ebp - 0x224]
movzx esi, ax
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x274], esi
cmp ax, 1
je 0x4a00fc
cmp ax, 3
jne 0x4a0116
mov ecx, dword [ebp + 0x64]
mov edx, dword [ebp - 0x278]
lea eax, [ebp - 0x20c]
push eax
push ecx
push edx
call fcn.00469f5d
add esp, 0xc
cmp si, 2
je 0x4a0126
cmp si, 3
jne 0x4a01b9
mov eax, dword [ebp - 0x288]
test eax, eax
je 0x4a017e
mov edx, dword [ebp + 0x64]
lea ecx, [ebp - 0x1e4]
push ecx
push edx
push eax
call fcn.00469f5d
mov eax, dword [ebp - 0x250]
add esp, 0xc
push eax
call fcn.0041a6d0
mov edi, dword [ebp - 0x258]
add esp, 4
push edi
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
jmp 0x4a0099
mov edi, 8
jmp 0x4a00ae
mov eax, dword [ebp - 0x250]
push eax
mov dword [ebp - 0x230], 0x57
call fcn.0041a6d0
mov edi, dword [ebp - 0x258]
add esp, 4
push edi
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
mov byte [ebp - 0x229], 0x1f
mov dword [ebp - 0x230], 8
mov eax, dword [ebp - 0x250]
push eax
call fcn.0041a6d0
mov edi, dword [ebp - 0x258]
add esp, 4
push edi
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
push edi
mov byte [ebp - 0x229], 0x22
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
push edi
mov byte [ebp - 0x229], 0x1f
mov dword [ebp - 0x230], 8
call fcn.0041a6d0
add esp, 4
jmp 0x4a0211
mov dword [ebp - 0x230], 0x57
mov eax, dword [ebp - 0x280]
test eax, eax
je 0x4a0223
mov ecx, dword [ebp - 0x284]
mov dword [eax], ecx
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x4a0237
mov dx, word [ebp - 0x274]
mov word [eax], dx
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4a0249
mov cl, byte [ebp - 0x229]
mov byte [eax], cl
mov eax, dword [ebp - 0x230]
lea esp, [ebp - 0x294]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x50]
xor ecx, ebp
call fcn.004677af
add ebp, 0x54
mov esp, ebp
pop ebp
ret