Function at 0x4ad133
Capabilities:
Check http status code
Read http header
Receive http response
Send data
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6a086b
mov eax, dword fs:[0]
push eax
sub esp, 0x56c
mov eax, dword [0x816078]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov edi, dword [ebp + 8]
push ecx
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x578]
push dword [esi + 0x14]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x488], esi
mov dword [ebp - 0x470], edi
mov dword [ebp - 0x480], eax
call fcn.0046b0fb
mov byte [ebp - 4], 1
call fcn.0046a854
test eax, eax
jns 0x4ad1b3
mov dword [edi], 5
jmp 0x4adf3f
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0x38]
call fcn.004ab584
lea ecx, [esi + 0x1c]
cmp dword [ecx + 0x14], 8
jb 0x4ad1cd
mov ecx, dword [ecx]
push eax
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x474], ecx
push eax
lea eax, [ebp - 0x460]
mov dword [ebp - 0x478], str.RequestId
push eax
push str._HttpWin__sendInternal
push 0x64
mov ecx, 0x5c80a0
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
mov dword [ebp - 0x45c], str.Message
mov dword [ebp - 0x458], str.Sending_request_for_Url.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0846
lea ecx, [ebp - 0x30]
call fcn.0040d475
cmp byte [esi + 0x12], 0
je 0x4ad24b
push str._HttpWin__sendInternal:_request_already_aborted
push 0xf
mov edx, 0x33f
mov ecx, 0x597058
call fcn.004f4e45
pop ecx
pop ecx
cmp byte [esi + 0x11], 0
je 0x4ad269
push str._HttpWin__sendInternal:_request_already_sent
push 0xf
mov edx, 0x33f
mov ecx, 0x597059
call fcn.004f4e45
pop ecx
pop ecx
cmp byte [esi + 0x10], 0
jne 0x4ad287
push str._HttpWin__sendInternal:_request_not_open
push 0xf
mov edx, 0x33f
mov ecx, 0x59705a
call fcn.004f4e45
pop ecx
pop ecx
cmp byte [esi + 0x11], 0
jne 0x4adf39
cmp byte [esi + 0x10], 0
je 0x4adf39
cmp byte [esi + 0x12], 0
jne 0x4adf39
xor eax, eax
mov byte [ebp - 0x422], bl
mov byte [ebp - 0x421], bl
mov dword [ebp - 0x428], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.004ae1b1
call fcn.004aab93
test al, al
je 0x4ad2f3
lea ecx, [esi + 0xb0]
call fcn.004aa454
cmp dword [ebp + 0x14], 0
seta al
mov byte [esi + 0xf0], al
mov al, byte [ebp - 0x422]
test al, al
jne 0x4ad9b1
push ecx
lea eax, [esi + 0x90]
push eax
lea ecx, [ebp - 0x51c]
call fcn.00433073
cmp dword [esi + 0x34], ebx
jne 0x4ad33d
lea ecx, [ebp - 0x51c]
mov dword [edi + 0xc], ebx
mov dword [edi + 8], ebx
mov dword [edi], 6
call fcn.00433050
lea ecx, [ebp - 0x50]
call fcn.0040d475
jmp 0x4adf45
lea ecx, [esi + 0x50]
call fcn.004b05d8
mov eax, dword [ebp + 0x14]
push ebx
push eax
push eax
push dword [ebp - 0x480]
push ebx
push ebx
push dword [esi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpSendRequest]
test eax, eax
setne byte [ebp - 0x421]
test eax, eax
je 0x4ad374
mov eax, dword [ebp + 0x14]
add dword [esi + 0x60], eax
jmp 0x4ad3f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x90]
lea eax, [ebp - 0x578]
push eax
call fcn.004ab584
mov edx, dword [ebp - 0x428]
lea ecx, [ebp - 0x504]
push ecx
push eax
lea eax, [ebp - 0x4f8]
mov dword [ebp - 0x500], str.SH_ErrorCode
push eax
push ecx
push ecx
mov ecx, 0x105539d
mov dword [ebp - 0x4fc], edx
mov dword [ebp - 0x504], 0x6dbe44
mov dword [ebp - 0x4f4], str.Message
mov dword [ebp - 0x4f0], str.WinHttpSendRequest_failed
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0be3
lea ecx, [ebp - 0x88]
call fcn.0040d475
lea ecx, [ebp - 0x51c]
call fcn.00433050
mov al, byte [ebp - 0x421]
test al, al
je 0x4ad7ec
mov ecx, dword [ebp - 0x438]
test ecx, ecx
je 0x4ad6ef
cmp dword [ebp + 0x14], 0
jbe 0x4ad6ef
push ebx
push ebx
push ebx
mov byte [ebp - 4], 3
mov eax, dword [ecx]
push ebx
push ecx
call dword [eax + 0x14]
test eax, eax
jns 0x4ad470
mov dword [ebp - 0x4e4], eax
mov edx, 0x33f
lea eax, [ebp - 0x4ec]
mov dword [ebp - 0x4e8], 0x6f5784
push eax
push str.HttpWin_sendInternal:_MsoRewindStream_failed
push 0xf
mov ecx, 0x1214688
mov dword [ebp - 0x4ec], 0x6dbf5c
call fcn.0041f40e
mov dword [ebp - 0x47c], ebx
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x474], ebx
mov edx, 0x2000
mov byte [ebp - 4], 4
cmp dword [ebp + 0x14], edx
lea ecx, [ebp - 0x47c]
mov eax, edx
cmovb eax, dword [ebp + 0x14]
push ecx
push eax
call fcn.00433e9e
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x430], eax
mov edx, 0x2000
cmp eax, edx
mov ecx, edx
mov edx, dword [ebp - 0x438]
cmovb ecx, eax
mov eax, dword [edx]
lea edx, [ebp - 0x434]
push edx
mov edx, dword [ebp - 0x438]
push ecx
push dword [ebp - 0x47c]
push edx
call dword [eax + 0xc]
test eax, eax
setns byte [ebp - 0x421]
test eax, eax
js 0x4ad636
cmp dword [ebp - 0x434], 0
je 0x4ad636
mov eax, dword [ebp - 0x430]
sub eax, dword [ebp - 0x434]
mov dword [ebp - 0x430], eax
lea eax, [esi + 0x90]
push ecx
push eax
lea ecx, [ebp - 0x528]
call fcn.00433073
cmp dword [esi + 0x34], 0
jne 0x4ad546
lea ecx, [ebp - 0x528]
mov dword [edi], 6
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
call fcn.00433050
lea ecx, [ebp - 0x47c]
call fcn.00419dd5
jmp 0x4ad330
lea eax, [ebp - 0x484]
push eax
push dword [ebp - 0x434]
push dword [ebp - 0x47c]
push dword [esi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpWriteData]
test eax, eax
setne byte [ebp - 0x421]
test eax, eax
je 0x4ad578
mov eax, dword [ebp - 0x484]
add dword [esi + 0x60], eax
lea ecx, [ebp - 0x528]
call fcn.00433050
cmp byte [ebp - 0x421], 0
je 0x4ad5b4
mov eax, dword [ebp - 0x434]
cmp eax, dword [ebp - 0x484]
jne 0x4ad5b4
mov eax, dword [ebp - 0x430]
mov byte [ebp - 0x421], 1
test eax, eax
jne 0x4ad4aa
jmp 0x4ad6da
mov byte [ebp - 0x421], bl
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x90]
lea eax, [ebp - 0x578]
push eax
call fcn.004ab584
mov edx, dword [ebp - 0x428]
lea ecx, [ebp - 0x4e0]
push ecx
push eax
lea eax, [ebp - 0x510]
mov dword [ebp - 0x4dc], str.SH_ErrorCode
push eax
push ecx
push ecx
mov ecx, 0x8c80d0
mov dword [ebp - 0x4d8], edx
mov dword [ebp - 0x4e0], 0x6dbe44
mov dword [ebp - 0x50c], str.Message
mov dword [ebp - 0x508], str.WinHttpWriteData_failed
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0be3
jmp 0x4ad6cf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x90]
lea eax, [ebp - 0x578]
push eax
call fcn.004ab584
mov cl, byte [ebp - 0x421]
mov edx, dword [ebp - 0x428]
mov byte [ebp - 0x49c], cl
lea ecx, [ebp - 0x498]
push ecx
lea ecx, [ebp - 0x4a4]
mov dword [ebp - 0x494], str.SH_ErrorCode
push ecx
push eax
lea eax, [ebp - 0x4b0]
mov dword [ebp - 0x490], edx
push eax
push ecx
push ecx
mov dword [ebp - 0x498], 0x6dbe44
mov dword [ebp - 0x4a4], 0x6dbd54
mov dword [ebp - 0x4a0], str.fSuccess
mov dword [ebp - 0x4ac], str.Message
mov dword [ebp - 0x4a8], str.Failed_to_read_bytes_from_the_stream_into_a_temporary_buffer
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0c6d
lea ecx, [ebp - 0x88]
call fcn.0040d475
lea ecx, [ebp - 0x47c]
mov byte [ebp - 4], 2
call fcn.00419dd5
mov al, byte [ebp - 0x421]
test al, al
je 0x4ad7ec
push ecx
lea eax, [esi + 0x90]
push eax
lea ecx, [ebp - 0x24]
call fcn.00433073
cmp dword [esi + 0x34], 0
jne 0x4ad715
lea ecx, [ebp - 0x24]
jmp 0x4ad31f
push ebx
push dword [esi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpReceiveResponse]
test eax, eax
setne byte [ebp - 0x421]
test eax, eax
je 0x4ad754
push 1
lea eax, [ebp - 0x429]
mov byte [ebp - 0x429], 9
push eax
lea ecx, [esi + 0xb0]
call fcn.004aa48d
lea ecx, [esi + 0x50]
call fcn.004b053a
jmp 0x4ad7d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x428], eax
lea ecx, [ebp - 0x90]
lea eax, [ebp - 0x578]
push eax
call fcn.004ab584
mov edx, dword [ebp - 0x428]
lea ecx, [ebp - 0x4bc]
push ecx
push eax
lea eax, [ebp - 0x4c8]
mov dword [ebp - 0x4b8], str.SH_ErrorCode
push eax
push ecx
push ecx
mov ecx, 0x8c80d1
mov dword [ebp - 0x4b4], edx
mov dword [ebp - 0x4bc], 0x6dbe44
mov dword [ebp - 0x4c4], str.Message
mov dword [ebp - 0x4c0], str.WinHttpReceiveResponse_failed
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0be3
lea ecx, [ebp - 0x88]
call fcn.0040d475
lea ecx, [ebp - 0x24]
call fcn.00433050
mov al, byte [ebp - 0x421]
test al, al
jne 0x4ad8c6
mov ecx, dword [ebp - 0x428]
cmp ecx, 0x2f00
je 0x4ad2f3
test al, al
jne 0x4ad8c6
call fcn.004ab177
test al, al
je 0x4ad8c6
lea ecx, [esi + 8]
call fcn.00425120
lea ecx, [ebp - 0x50]
push ecx
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x28]
test al, al
je 0x4ad8c6
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0x70]
call fcn.004ab584
push ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x430], eax
call fcn.004ab4d2
lea ecx, [esi + 0x1c]
cmp dword [ecx + 0x14], 8
jb 0x4ad85a
mov ecx, dword [ecx]
push dword [ebp - 0x430]
mov dword [ebp - 0x4cc], ecx
lea ecx, [ebp - 0x4d4]
push ecx
push eax
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x4d0], str.RequestId
push eax
push ecx
push ecx
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
mov dword [ebp - 0x468], str.Message
mov dword [ebp - 0x464], str.There_was_a_proxy_error._Retrying_the_request_with_a_new_proxy.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0d01
lea ecx, [ebp - 0x88]
call fcn.0040d475
lea ecx, [ebp - 0x68]
call fcn.0040d475
jmp 0x4ad2f3
call fcn.004a7c60
test al, al
je 0x4ad9a4
cmp byte [esi + 0x4d], 0
je 0x4ad9a4
mov cl, byte [ebp - 0x421]
test cl, cl
jne 0x4ad9a4
push ebx
lea eax, [ebp - 0x458]
mov dword [ebp - 0x430], ebx
push eax
lea eax, [ebp - 0x430]
mov dword [ebp - 0x458], 4
push eax
push ebx
push 0x20000013
push dword [esi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryHeaders]
test eax, eax
je 0x4ad9a4
cmp dword [ebp - 0x430], 0x191
jne 0x4ad9a4
lea eax, [esi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4ad938
mov eax, dword [eax]
mov dword [ebp - 0x43c], eax
mov ecx, 0x30303030
lea eax, [ebp - 0x444]
mov dword [ebp - 0x440], str.RequestId
push eax
lea eax, [ebp - 0x450]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
push eax
push str._HttpWin__sendInternal
push 0x64
mov dword [ebp - 0x44c], str.Message
mov dword [ebp - 0x448], str.Got_401_response_with_Negotiate_AuthScheme.__Retrying_the_request_with_NTLM.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b095e
push dword [esi + 0x14]
mov ecx, esi
push dword [esi + 0x34]
call fcn.004ac029
mov byte [esi + 0x4d], bl
jmp 0x4ad2f3
mov al, 1
mov byte [ebp - 0x422], al
jmp 0x4ad2f9
mov al, byte [ebp - 0x421]
test al, al
je 0x4ad9dc
push 1
lea eax, [ebp - 0x429]
mov byte [ebp - 0x429], 0xa
push eax
lea ecx, [esi + 0xb0]
call fcn.004aa48d
mov al, byte [ebp - 0x421]
mov ecx, esi
mov byte [esi + 0x11], al
call fcn.004ac2fe
cmp byte [esi + 0x11], 0
xorps xmm0, xmm0
mov dword [ebp - 0x430], ebx
movlpd qword [ebp - 0x460], xmm0
jne 0x4adb80
mov eax, dword [ebp - 0x428]
test eax, eax
jne 0x4ada17
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x428], eax
mov edx, eax
lea ecx, [ebp - 0x28]
call fcn.004abc8f
mov eax, dword [ebp - 0x28]
test eax, eax
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x438], ecx
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x430], eax
lea eax, [ebp - 0x578]
mov dword [ebp - 0x434], ecx
lea ecx, [ebp - 0x70]
push eax
jne 0x4adae6
call fcn.004ab584
mov ecx, eax
lea eax, [esi + 0x1c]
cmp dword [eax + 0x14], 8
jb 0x4ada60
mov eax, dword [eax]
push ecx
mov dword [ebp - 0x448], eax
mov ecx, 0x8c80d3
lea eax, [ebp - 0x450]
mov dword [ebp - 0x44c], str.RequestId
push eax
lea eax, [ebp - 0x444]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
push eax
push str._HttpWin__sendInternal
push 0xf
mov dword [ebp - 0x440], str.Message
mov dword [ebp - 0x43c], str.The_request_failed_to_send__but_GetLastError_returned_Result::OK_
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0846
lea ecx, [ebp - 0x68]
call fcn.0040d475
xorps xmm0, xmm0
mov dword [ebp - 0x430], 1
movlpd qword [ebp - 0x460], xmm0
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0x434], ecx
jmp 0x4adb8c
call fcn.004ab584
mov edx, dword [ebp - 0x428]
mov ecx, eax
lea eax, [esi + 0x1c]
mov dword [ebp - 0x44c], str.SH_ErrorCode
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x450], 0x6dbe44
jb 0x4adb18
mov eax, dword [eax]
mov dword [ebp - 0x43c], eax
lea eax, [ebp - 0x450]
push eax
push ecx
lea eax, [ebp - 0x444]
mov dword [ebp - 0x440], str.RequestId
push eax
lea eax, [ebp - 0x46c]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
push eax
push str._HttpWin__sendInternal
push ecx
mov ecx, 0x5c80a2
mov dword [ebp - 0x468], str.Message
mov dword [ebp - 0x464], str.Failed_to_send_request.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0d95
lea ecx, [ebp - 0x68]
call fcn.0040d475
jmp 0x4adb98
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x438], eax
mov al, byte [esi + 0x11]
test al, al
je 0x4adc73
mov eax, dword [esi]
lea ecx, [ebp - 0x458]
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov ecx, esi
call dword [eax + 0x24]
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0x70]
call fcn.004ab584
mov ecx, dword [ebp - 0x458]
mov dword [ebp - 0x448], ecx
lea ecx, [esi + 0x1c]
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0x44c], 0x6e1090
mov dword [ebp - 0x450], 0x6dbe44
jb 0x4adbef
mov ecx, dword [ecx]
mov dword [ebp - 0x43c], ecx
lea ecx, [ebp - 0x450]
push ecx
push eax
lea eax, [ebp - 0x444]
mov dword [ebp - 0x440], str.RequestId
push eax
lea eax, [ebp - 0x46c]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
push eax
push ecx
push ecx
mov dword [ebp - 0x468], str.Message
mov dword [ebp - 0x464], str.Request_for_Url_is_sent.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0e23
lea ecx, [ebp - 0x68]
call fcn.0040d475
mov al, byte [esi + 0x11]
test al, al
je 0x4adc73
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
test eax, eax
je 0x4adc73
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
push esi
push dword [esi + 0x14]
mov ecx, eax
mov edx, dword [eax]
push dword [esi + 0x18]
call dword [edx + 0x14]
mov eax, dword [ebp - 0x430]
cmp eax, 7
jne 0x4addce
push ecx
lea eax, [esi + 0x90]
mov dword [ebp - 0x428], ebx
push eax
lea ecx, [ebp - 0x24]
call fcn.00433073
cmp dword [esi + 0x34], 0
je 0x4ad70d
lea eax, [ebp - 0x458]
mov dword [ebp - 0x458], 4
push eax
lea eax, [ebp - 0x428]
push eax
push 0x4e
push dword [esi + 0x34]
call dword [sym.imp.WINHTTP.dll_WinHttpQueryOption]
test eax, eax
jne 0x4add78
lea eax, [ebp - 0x578]
push eax
lea ecx, [ebp - 0x70]
call fcn.004ab584
mov dword [ebp - 0x480], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x44c], str.SH_ErrorCode
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x450], 0x6dbe44
jb 0x4add0d
mov ecx, dword [ecx]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x43c], ecx
push eax
push dword [ebp - 0x480]
lea eax, [ebp - 0x444]
mov dword [ebp - 0x440], str.RequestId
push eax
lea eax, [ebp - 0x46c]
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
push eax
push str._HttpWin__sendInternal
push ecx
mov ecx, 0x1141443
mov dword [ebp - 0x468], str.Message
mov dword [ebp - 0x464], str.An_error_occurred_while_querying_for_the_Server_Certification_Context.
mov dword [ebp - method.Mso::Logging::StructuredObject_wchar_t_const___1_.virtual_0], 0x6f5b30
call fcn.004b0d95
lea ecx, [ebp - 0x68]
call fcn.0040d475
lea ecx, [ebp - 0x24]
call fcn.00433050
cmp dword [ebp - 0x428], 0
je 0x4addc8
push 0xc
call fcn.006707e1
pop ecx
mov ecx, eax
mov dword [ebp - 0x458], ecx
test ecx, ecx
je 0x4adf70
mov eax, dword [ebp - 0x428]
mov dword [ecx + 4], ebx
mov dword [ecx], fcn.0043f98d
mov dword [ecx + 8], eax
lea ecx, [esi + 8]
call fcn.00425120
push dword [ebp - 0x458]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x18]
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0x438]
lea edx, [esi + 0x68]
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x434]
mov dword [edx], eax
mov dword [edx + 0xc], ecx
cmp eax, 7
jne 0x4ade1a
call fcn.004aab93
test al, al
je 0x4addfb
mov eax, dword [esi + 0xf4]
jmp 0x4ade0a
lea ecx, [esi + 8]
call fcn.00425120
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x14]
cdq
mov dword [ebp - 0x434], edx
lea edx, [esi + 0x68]
mov dword [ebp - 0x438], eax
lea ecx, [esi + 0x1c]
cmp dword [ecx + 0x14], 8
jb 0x4ade25
mov ecx, dword [ecx]
push dword [esi + 0x14]
movzx eax, byte [esi + 0x11]
push esi
push eax
push ebx
push edx
push ecx
lea ecx, [esi + 0xb0]
call fcn.004aa8d2
mov eax, dword [ebp - 0x430]
mov dword [edi], eax
mov eax, dword [ebp - 0x438]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x434]
mov dword [edi + 0xc], eax
jmp 0x4ad330
mov dword [edi], 6
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
lea ecx, [ebp - 0x578]
call fcn.0046b145
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0064c681
mov esp, ebp
pop ebp
ret 0x10
call fcn.004f732c
int3