Function at 0x40c5f0
Capabilities:
Check for software breakpoints
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f07aa
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push esi
push edi
mov eax, dword [0x6b7e40]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
lea ecx, [edi + 0x1c]
push eax
call fcn.00404570
push 0x14
call fcn.004996c9
mov esi, eax
add esp, 4
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x40c665
push 0
push 0
push 0
push 0
push 1
push 0
mov ecx, esi
call fcn.004ae4c6
mov dword [esi], vtable.CFileDownloaderSession.0
jmp 0x40c667
xor esi, esi
mov byte [ebp - 4], 0
push 0x63bfdc
lea ecx, [ebp - 0x24]
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.004021e0
mov byte [ebp - 4], 2
mov ebx, dword [ebp + 8]
xor al, al
mov ecx, ebx
mov byte [ebp - 0x11], al
call fcn.0040b160
mov byte [ebp - 4], 3
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40c6bc
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 4
push dword [ebx]
call fcn.004ae7eb
test eax, eax
je 0x40dab5
cmp dword [ebp - 0x48], 3
jne 0x40dab5
mov ecx, dword [edi + 0xc]
push 1
call fcn.004ae973
mov eax, dword [0x6ba210]
mov ecx, dword [edi + 0xc]
push 0
mov dword [ebp - 0x40], eax
push 4
lea eax, [ebp - 0x40]
push eax
push 6
call fcn.004af2a1
mov ecx, dword [edi + 0xc]
push 0
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x24]
call fcn.004aec20
xor ecx, ecx
cmp byte [ebp + 0x24], cl
mov dword [edi + 0x10], eax
setne cl
inc ecx
or ecx, 0xa0600000
push ecx
push str.HTTP_1.0
push 0
push 1
push 0
push dword [ebp - 0x2c]
mov ecx, eax
push 1
call fcn.004aecfc
mov dword [edi + 0x14], eax
call fcn.00434600
mov eax, dword [0x6c20c0]
mov esi, dword [eax - 0xc]
test esi, esi
je 0x40c816
push esi
mov ecx, 0x6c20c0
call fcn.00402000
mov ecx, dword [edi + 0x14]
push 0
push esi
push eax
push 0x2b
call fcn.004af285
mov eax, dword [0x6c20c0]
push dword [eax - 8]
push eax
call fcn.005be02a
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x40d69c
mov eax, dword [0x6c20c0]
cmp ecx, dword [eax - 8]
jg 0x40d69c
mov dword [eax - 0xc], ecx
mov eax, dword [0x6c20c0]
xor edx, edx
mov word [eax + ecx*2], dx
mov eax, dword [0x6c20c4]
mov ecx, 0x6c20c4
mov esi, dword [eax - 0xc]
push esi
call fcn.00402000
mov ecx, dword [edi + 0x14]
push 0
push esi
push eax
push 0x2c
call fcn.004af285
mov eax, dword [0x6c20c4]
push dword [eax - 8]
push eax
call fcn.005be02a
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x40d69c
mov eax, dword [0x6c20c4]
cmp ecx, dword [eax - 8]
jg 0x40d69c
mov dword [eax - 0xc], ecx
mov eax, dword [0x6c20c4]
xor edx, edx
mov word [eax + ecx*2], dx
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40c832
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 7
mov ecx, dword [edi + 0x2c]
mov eax, dword [edi + 0x28]
test ecx, ecx
jl 0x40c917
jg 0x40c85b
test eax, eax
je 0x40c917
mov esi, dword [ebp + 0x1c]
test esi, esi
jl 0x40c8f8
mov edx, dword [ebp + 0x18]
jg 0x40c873
test edx, edx
je 0x40c8f8
mov ecx, edx
sub ecx, 1
sbb esi, 0
push esi
push ecx
lea ecx, [ebp - 0x38]
call fcn.0041d790
add esp, 8
mov esi, eax
mov byte [ebp - 4], 8
push dword [edi + 0x2c]
lea ecx, [ebp - 0x40]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 9
push dword [esi]
push dword [eax]
lea eax, [ebp - 0x20]
push 0x63aa58
push str._sRange:_bytes_s__s_r_n
push eax
call fcn.00404520
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
or ebx, 0xffffffff
add esp, 0x14
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40c8e0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jmp 0x40c973
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0xa
push dword [eax]
push 0x63aa58
push str._sRange:_bytes_s__r_n
jmp 0x40c94e
mov esi, dword [ebp + 0x1c]
test esi, esi
jl 0x40c97f
mov edx, dword [ebp + 0x18]
jg 0x40c927
test edx, edx
je 0x40c97f
mov ecx, edx
sub ecx, 1
mov eax, esi
sbb eax, 0
push eax
push ecx
lea ecx, [ebp - 0x40]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0xb
push dword [eax]
push 0x63aa58
push str._sRange:_bytes0__s_r_n
lea eax, [ebp - 0x20]
push eax
call fcn.00404520
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
or ebx, 0xffffffff
add esp, 0x10
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40c98f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40c98f
push 0x63aa58
lea ecx, [ebp - 0x20]
call fcn.00402190
or ebx, 0xffffffff
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x20]
push eax
push 0x81d
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 1
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
mov ecx, dword [edi + 0x14]
push 0x10000000
lea eax, [ebp - 0x20]
push eax
call fcn.004ae76c
mov dword [ebp - 0x34], 0
mov al, byte [ebp - 0x11]
lea esp, [esp]
test al, al
jne 0x40cca6
mov ecx, dword [edi + 0x14]
push 0
push 0
push 0
push 0
call fcn.004af22a
mov ecx, dword [edi + 0x14]
lea eax, [ebp - 0x34]
push eax
call fcn.004aee13
mov eax, 0x6c20c0
test eax, eax
je 0x40cc9c
cmp dword [eax + 8], 0
jne 0x40cc9c
mov eax, dword [ebp - 0x34]
cmp eax, 0x197
je 0x40ca30
cmp eax, 0x191
jne 0x40cc9c
call fcn.004a9490
mov ecx, eax
test ecx, ecx
je 0x40ca5f
mov eax, dword [ecx]
call dword [eax + 0x74]
mov esi, eax
test esi, esi
je 0x40ca61
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
call fcn.0049ef28
test eax, eax
je 0x40ca61
cmp dword [eax + 0x20], 0
cmovne esi, eax
jmp 0x40ca61
xor esi, esi
mov ecx, dword [edi + 0x14]
push 0
push 6
push 0x2eee
push esi
call fcn.004ae9cf
cmp eax, 0x2f00
je 0x40cb88
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0xc
push dword [eax]
push 0x2845
push dword [ebp + 0xc]
call fcn.0043cd20
mov byte [ebp - 4], 7
mov edx, dword [ebp + 0x24]
add edx, 0xfffffff0
add esp, 0xc
lea eax, [edx + 0xc]
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cae5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
mov ecx, edi
call fcn.0040df30
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x20]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cb0e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cb2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cb4e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x20]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x40cb6f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 3
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [ebp - 0x34], 0x197
mov al, byte [ebp - 0x11]
jne 0x40c9e0
xor al, al
mov byte [ebp - 0x11], al
xor ecx, ecx
mov eax, 0x400
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0x40], 0x400
neg ecx
or ecx, eax
push ecx
call fcn.004996f6
mov ecx, dword [edi + 0x14]
add esp, 4
mov esi, eax
lea eax, [ebp - 0x40]
push eax
push esi
push 0x2b
call fcn.004aee77
push esi
lea ecx, [ebp - 0x38]
call fcn.004021e0
push eax
mov ecx, 0x6c20c0
mov byte [ebp - 4], 0xd
call fcn.00404570
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x38]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cc0b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push esi
call fcn.004996ff
xor ecx, ecx
mov eax, 0x400
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0x40], 0x400
neg ecx
or ecx, eax
push ecx
call fcn.004996f6
mov ecx, dword [edi + 0x14]
add esp, 8
mov esi, eax
lea eax, [ebp - 0x40]
push eax
push esi
push 0x2c
call fcn.004aee77
push esi
lea ecx, [ebp - 0x30]
call fcn.004021e0
mov ecx, 0x6c20c0
add ecx, 4
push eax
mov byte [ebp - 4], 0xe
call fcn.00404570
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40cc82
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push esi
call fcn.004996ff
mov eax, 0x6c20c0
add esp, 4
mov ecx, eax
call fcn.00434a30
jmp 0x40c9d6
mov al, 1
mov byte [ebp - 0x11], al
jmp 0x40c9e0
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40ccc2
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1c], eax
push 0
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0xf
mov ecx, dword [edi + 0x14]
push 0x16
call fcn.004aeda4
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40ccff
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x38], eax
mov byte [ebp - 4], 0x10
push dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x38]
push dword [esi]
push str.Headers_from__s_n_______s
push eax
call fcn.00404520
add esp, 0x10
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x38]
push eax
push 0x8cf
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 2
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
call fcn.0040f1b0
cmp byte [edi + 8], 0
je 0x40cda6
mov esi, dword [ebp - 0x28]
cmp dword [esi - 0xc], 0
jl 0x40cda3
push str.refresh:
push esi
call fcn.005bda07
add esp, 8
test eax, eax
je 0x40cda3
sub eax, esi
mov esi, dword [ebp + 8]
sar eax, 1
jmp 0x40cda9
mov esi, dword [ebp + 8]
or eax, 0xffffffff
mov dword [ebp - 0x30], eax
test eax, eax
js 0x40cdde
push eax
push 0x63e7ec
lea ecx, [ebp - 0x28]
call fcn.00403f40
mov dword [ebp - 0x30], eax
test eax, eax
js 0x40cdde
push eax
push 0x63e7f4
lea ecx, [ebp - 0x28]
call fcn.00403f40
mov dword [ebp - 0x30], eax
test eax, eax
js 0x40cdde
inc eax
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x12d
je 0x40d538
cmp ecx, 0x12e
je 0x40d538
cmp ecx, 0x12f
je 0x40d538
test eax, eax
jns 0x40d538
cmp ecx, 0x193
jne 0x40ce7b
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x1e
push dword [eax]
push 0x2856
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 4
jmp 0x40d4a8
cmp ecx, 0x194
jne 0x40cee9
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x1f
push dword [eax]
push 0x284a
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 6
jmp 0x40d4a8
cmp ecx, 0xcc
jne 0x40cfa1
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x14]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x20
push dword [eax]
mov edx, dword [ebp + 0x18]
push dword [ebp + 0x1c]
lea ecx, [ebp + 0x28]
push edx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x21
push dword [eax]
lea ecx, [ebp + 0x24]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x22
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s
call fcn.004021e0
push 0x284b
push dword [ebp + 0xc]
call fcn.0043cdb0
add esp, 0x18
lea ecx, [ebp + 0x24]
call fcn.00401020
lea ecx, [ebp + 0x28]
call fcn.00401020
lea ecx, [ebp + 0x14]
call fcn.00401020
mov eax, dword [edi + 0x28]
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x34], eax
jmp 0x40d4a3
cmp ecx, 0x1a0
jne 0x40d040
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x14]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x23
push dword [eax]
mov edx, dword [ebp + 0x18]
push dword [ebp + 0x1c]
lea ecx, [ebp + 0x28]
push edx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x24
push dword [eax]
lea ecx, [ebp + 0x24]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x25
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s
call fcn.004021e0
push 0x284c
push dword [ebp + 0xc]
call fcn.0043cdb0
add esp, 0x18
lea ecx, [ebp + 0x24]
call fcn.00401020
lea ecx, [ebp + 0x28]
jmp 0x40d489
mov eax, dword [ebp + 0x24]
test al, al
je 0x40d151
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
call fcn.0040e080
test al, al
jne 0x40d14e
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x26
push dword [eax]
mov edx, dword [ebp + 0x18]
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x27
push dword [eax]
lea ecx, [ebp - 0x40]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x28
push dword [eax]
lea ecx, [ebp + 0x28]
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x29
push dword [eax]
lea ecx, [ebp + 0x24]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x2a
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s_s_s
call fcn.004021e0
push 0x2855
push dword [ebp + 0xc]
call fcn.0043cdb0
add esp, 0x20
lea ecx, [ebp + 0x24]
call fcn.00401020
lea ecx, [ebp + 0x28]
call fcn.00401020
lea ecx, [ebp - 0x40]
call fcn.00401020
lea ecx, [ebp - 0x30]
call fcn.00401020
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 0xa
jmp 0x40d4a8
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x1f6
jne 0x40d24d
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x2b
push dword [eax]
mov edx, dword [ebp + 0x18]
push dword [ebp + 0x1c]
lea ecx, [ebp - 0x30]
push edx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x2c
push dword [eax]
lea ecx, [ebp - 0x40]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x2d
push dword [eax]
lea ecx, [ebp + 0x28]
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x2e
push dword [eax]
lea ecx, [ebp + 0x24]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x2f
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s_s_s
call fcn.004021e0
push 0x2855
push dword [ebp + 0xc]
call fcn.0043cdb0
add esp, 0x20
lea ecx, [ebp + 0x24]
call fcn.00401020
lea ecx, [ebp + 0x28]
call fcn.00401020
lea ecx, [ebp - 0x40]
call fcn.00401020
lea ecx, [ebp - 0x30]
call fcn.00401020
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 0xa
jmp 0x40d4a8
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
cmp dword [edi + 0x28], ebx
jne 0x40d3fc
cmp dword [edi + 0x2c], esi
jne 0x40d3fc
mov eax, dword [ebp + 0x1c]
test eax, eax
jl 0x40d301
mov ebx, dword [ebp + 0x18]
jg 0x40d27d
test ebx, ebx
je 0x40d301
cmp ebx, dword [edi + 0x30]
jne 0x40d287
cmp eax, dword [edi + 0x34]
je 0x40d301
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x14]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x33
push dword [eax]
lea ecx, [ebp + 0x28]
push dword [ebp + 0x1c]
push ebx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x34
push dword [eax]
lea ecx, [ebp + 0x24]
push dword [edi + 0x34]
push dword [edi + 0x30]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x35
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s
call fcn.004021e0
push 0x284e
jmp 0x40d025
cmp ecx, 0x1f4
jb 0x40d345
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x36
push dword [eax]
push 0x284f
jmp 0x40d387
cmp ecx, 0x190
jb 0x40d3b1
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x37
push dword [eax]
push 0x2850
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 9
jmp 0x40d4a8
cmp ecx, 0x12c
jb 0x40d3f5
mov eax, dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x38
push dword [eax]
push 0x2851
jmp 0x40d387
xor ebx, ebx
jmp 0x40d4a8
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov dword [ebp + 0x24], esp
push eax
call fcn.004046f0
mov ecx, dword [ebp + 0x24]
add eax, 0x10
mov dword [ecx], eax
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x14]
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x30
push dword [eax]
lea ecx, [ebp + 0x1c]
push esi
push ebx
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x31
push dword [eax]
lea ecx, [ebp + 0x28]
push dword [edi + 0x2c]
push dword [edi + 0x28]
call fcn.0041d790
add esp, 8
mov byte [ebp - 4], 0x32
push dword [eax]
push ecx
mov ecx, esp
push str._s_s_s
call fcn.004021e0
push 0x284d
push dword [ebp + 0xc]
call fcn.0043cdb0
add esp, 0x18
lea ecx, [ebp + 0x28]
call fcn.00401020
lea ecx, [ebp + 0x1c]
call fcn.00401020
lea ecx, [ebp + 0x14]
mov byte [ebp - 4], 0x11
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov ebx, 7
lea ecx, [ebp + 0x24]
call fcn.00404540
mov byte [ebp - 4], 0x39
mov eax, dword [ebp + 8]
push dword [eax]
lea eax, [ebp + 0x24]
push dword [ebp - 0x34]
push str.OpenURL_Status_Code_is__u_for__s
push eax
call fcn.00404520
add esp, 0x10
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp + 0x24]
push eax
push 0x9b7
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 2
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp + 0x24]
call fcn.00401020
lea ecx, [ebp - 0x28]
call fcn.00401020
lea ecx, [ebp - 0x38]
call fcn.00401020
lea ecx, [ebp - 0x1c]
call fcn.00401020
lea ecx, [ebp - 0x20]
call fcn.00401020
lea ecx, [ebp - 0x2c]
call fcn.00401020
mov dword [ebp - 4], 2
jmp 0x40dd82
cmp byte [edi + 8], 0
jne 0x40d550
push dword [esi]
push 0x2846
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40d56c
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x30]
test eax, eax
jle 0x40d6a6
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404030
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x13
call fcn.00404570
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x40]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40d5c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jle 0x40d616
push 0xa
push eax
call fcn.005bea41
add esp, 8
test eax, eax
je 0x40d616
sub eax, dword [ebp - 0x18]
sar eax, 1
test eax, eax
jle 0x40d616
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404680
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x14
call fcn.00404570
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401020
push 0x63e7f8
lea ecx, [ebp - 0x18]
call fcn.0040f290
lea ecx, [ebp - 0x30]
call fcn.00404540
mov byte [ebp - 4], 0x15
push dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push dword [esi]
push str.TIMED_REDIRECTION_from__s_n_____to__s
push eax
call fcn.00404520
add esp, 0x10
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x30]
push eax
push 0x8ff
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 2
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x30]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x40d685
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax - 0xc]
test ecx, ecx
je 0x40d90e
jns 0x40d7b9
push 0x80070057
call fcn.00402040
mov eax, dword [ebp - 0x1c]
cmp dword [eax - 0xc], 0
jl 0x40da00
push str.Location:
push eax
call fcn.005bda07
add esp, 8
test eax, eax
je 0x40da00
sub eax, dword [ebp - 0x1c]
sar eax, 1
cmp eax, 0xffffffff
je 0x40da00
add eax, 0xa
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00404030
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x17
call fcn.00404570
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401020
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jle 0x40d754
push 0xa
push eax
call fcn.005bea41
add esp, 8
test eax, eax
je 0x40d754
sub eax, dword [ebp - 0x18]
sar eax, 1
test eax, eax
jle 0x40d754
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x18]
call fcn.00404680
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x18
call fcn.00404570
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401020
push 0x63e7f8
lea ecx, [ebp - 0x18]
call fcn.0040f290
lea ecx, [ebp - 0x30]
call fcn.00404540
mov byte [ebp - 4], 0x19
push dword [ebp - 0x18]
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x30]
push dword [ebx]
push str.REDIRECTION_from__s_n_____to__s
push eax
call fcn.00404520
add esp, 0x10
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x30]
push eax
push 0x917
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 2
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x12
call fcn.00401020
jmp 0x40d688
cmp word [eax], 0x2f
jne 0x40d90e
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jl 0x40d7e5
push str..com
push eax
call fcn.005bda07
mov esi, eax
add esp, 8
test esi, esi
je 0x40d7e5
sub esi, dword [ebx]
sar esi, 1
jns 0x40d864
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jge 0x40d7f2
or esi, 0xffffffff
jmp 0x40d811
push str..net
push eax
call fcn.005bda07
mov esi, eax
add esp, 8
test esi, esi
jne 0x40d80b
or esi, 0xffffffff
jmp 0x40d811
sub esi, dword [ebx]
sar esi, 1
jns 0x40d864
mov eax, dword [ebx]
cmp dword [eax - 0xc], 0
jl 0x40d864
push 0x63e0e0
push eax
call fcn.005bda07
add esp, 8
test eax, eax
je 0x40d864
sub eax, dword [ebx]
sar eax, 1
test eax, eax
jle 0x40d864
mov ecx, dword [ebp + 8]
lea ebx, [eax + 3]
push ebx
push 0x63e100
call fcn.00403f40
test eax, eax
jns 0x40d85e
push ebx
mov ebx, dword [ebp + 8]
push 0x63eebc
mov ecx, ebx
call fcn.00403f40
test eax, eax
js 0x40d864
jmp 0x40d861
mov ebx, dword [ebp + 8]
lea esi, [eax - 4]
test esi, esi
jle 0x40d90e
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x40]
push eax
mov ecx, ebx
call fcn.00404680
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0x1a
call fcn.004066f0
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1b
call fcn.00404570
lea ecx, [ebp - 0x30]
call fcn.00401020
lea ecx, [ebp - 0x30]
call fcn.00404540
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x18]
lea eax, [ebp - 0x30]
push dword [ebp - 0x40]
push str.REDIRECTION_URL_was_relative__prepended_server__s_to_form__s
push eax
call fcn.00404520
add esp, 0x10
push ecx
mov ecx, esp
push 0x63bfdc
call fcn.004021e0
push 0
lea eax, [ebp - 0x30]
push eax
push 0x93d
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 0
push 2
xor ecx, ecx
call fcn.004051a0
mov ecx, eax
call fcn.004022e0
lea ecx, [ebp - 0x30]
call fcn.00401020
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
mov eax, dword [ebp + 0x28]
cmp eax, 5
jle 0x40d970
mov eax, dword [ebx]
push 0xffffffffffffffff
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x1d
push dword [eax]
push 0x2848
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
lea ecx, [ebp + 0x24]
call fcn.00401020
jmp 0x40da5c
inc eax
push eax
mov eax, dword [ebp + 0x24]
push eax
mov eax, dword [ebp + 0x20]
push ecx
add eax, 0xfffffff0
mov esi, esp
push eax
call fcn.004046f0
mov edx, dword [ebp + 0x18]
add esp, 4
add eax, 0x10
push dword [ebp + 0x1c]
mov dword [esi], eax
push edx
push dword [ebp + 0x14]
lea eax, [ebp - 0x18]
push dword [ebp + 0x10]
mov ecx, edi
push dword [ebp + 0xc]
push eax
call fcn.0040c5f0
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.00401020
lea ecx, [ebp - 0x28]
call fcn.00401020
lea ecx, [ebp - 0x38]
call fcn.00401020
lea ecx, [ebp - 0x1c]
call fcn.00401020
lea ecx, [ebp - 0x20]
call fcn.00401020
lea ecx, [ebp - 0x2c]
call fcn.00401020
lea ecx, [ebp - 0x24]
call fcn.00401020
lea ecx, [ebp + 0x20]
call fcn.00401020
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
mov eax, dword [eax]
push 0
push 0
push 0xffffffffffffffff
push ecx
sub eax, 0x10
mov esi, esp
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov edx, 0xfa
lea ecx, [ebp + 0x24]
mov dword [esi], eax
call fcn.0041a0b0
add esp, 0x14
mov byte [ebp - 4], 0x16
push dword [eax]
push 0x2847
push dword [ebp + 0xc]
call fcn.0043cd20
add esp, 0xc
lea ecx, [ebp + 0x24]
mov byte [ebp - 4], 0x12
call fcn.00401020
push 0
mov ecx, edi
call fcn.0040df30
lea ecx, [ebp - 0x18]
call fcn.00401020
lea ecx, [ebp - 0x28]
call fcn.00401020
lea ecx, [ebp - 0x38]
call fcn.00401020
lea ecx, [ebp - 0x1c]
call fcn.00401020
lea ecx, [ebp - 0x20]
call fcn.00401020
lea ecx, [ebp - 0x2c]
call fcn.00401020
lea ecx, [ebp - 0x24]
call fcn.00401020
lea ecx, [ebp + 0x20]
call fcn.00401020
mov eax, 5
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
call fcn.004a4516
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x40dad1
push 0x80004005
call fcn.00402040
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x24], eax
mov byte [ebp - 4], 5
movzx eax, word [ebp - 0x44]
push eax
push dword [ebp - 0x48]
lea eax, [ebp + 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x24]
push dword [ebx]
push str.INTERNAL_ERROR_Parsing_URL__s:_server_name__s__object__s__service_type__d__port__d
push eax
call fcn.00404520
add esp, 0x1c
lea ecx, [ebp + 0x28]
push 0x63bfdc
call fcn.004021e0
xor ecx, ecx
call fcn.004051a0
mov esi, eax
push ecx
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0x28]
add ecx, 0xfffffff0
mov edi, esp
push ecx
call fcn.004046f0
add esp, 4
add eax, 0x10
push 0
push 0
mov dword [edi], eax
lea eax, [ebp + 0x24]
push eax
push 0x7bb
push str.C:_amintegration_tools_setupishield_sldim_baseFileDownloader.cpp
push 1
push 1
mov ecx, esi
call fcn.004055a0
mov byte [ebp - 4], 5
mov edx, dword [ebp + 0x28]
add edx, 0xfffffff0
or ebx, 0xffffffff
lea ecx, [edx + 0xc]
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40db74
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp + 0x24]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40db94
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x2c]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40dbb4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
mov ecx, ebx
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x40dbd4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp + 0x20]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x40dbf5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
cmp dword [edi + 0x14], 0
jne 0x40dd92
mov eax, 6
test ebx, ebx
cmove ebx, eax
cmp byte [edi + 0x48], 0
je 0x40df04
mov eax, dword [edi + 0x20]
sub eax, 0x10
push eax
call fcn.004046f0
add eax, 0x10
add esp, 4
mov dword [ebp + 8], eax
push 1
mov ecx, edi
mov byte [ebp - 4], 0x45
call fcn.0040df30
lea eax, [ebp + 8]
push eax
lea ecx, [edi + 0x20]
call fcn.00404570
call fcn.0040b090
push ecx
push 0x6c1e34
lea ecx, [ebp - 0x5c]
call fcn.00404de0
mov byte [ebp - 4], 0x46
test ebx, ebx
je 0x40ded4
mov ecx, dword [ebp + 0xc]
lea eax, [ebp + 0x24]
push eax
mov dword [edi + 0x4c], 4
call fcn.004075a0
push eax
lea ecx, [edi + 0x60]
mov byte [ebp - 4], 0x47
call fcn.00404570
lea ecx, [ebp + 0x24]
call fcn.00401020
jmp 0x40dee8
push 0x63bfdc
lea ecx, [edi + 0x60]
mov dword [edi + 0x4c], 0
call fcn.00402190
mov eax, dword [edi + 0x28]
mov dword [edi + 0x50], eax
mov eax, dword [edi + 0x2c]
lea ecx, [ebp - 0x5c]
mov dword [edi + 0x54], eax
call fcn.00404e60
lea ecx, [ebp + 8]
call fcn.00401020
lea ecx, [ebp - 0x24]
call fcn.00401020
lea ecx, [ebp + 0x20]
call fcn.00401020
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24