Function at 0x40b360
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x532e65
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x184
push ebx
push ebp
mov ebp, dword [esp + 0x19c]
push esi
push edi
call fcn.0051ffd3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
xor ebx, ebx
lea ecx, [ebp + 0x11b4]
cmp ecx, ebx
mov dword [esp + 0x19c], ebx
jne 0x40b3b0
xor eax, eax
jmp 0x40b3be
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40b3b5
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.00403060
mov eax, dword [ebp + 0x70]
mov eax, dword [eax + 0x44]
cmp eax, ebx
mov dword [esp + 0x24], eax
jle 0x40b48c
jmp 0x40b3e0
test ebx, ebx
mov eax, dword [ebp + 0x70]
jl 0x40bec1
cmp ebx, dword [eax + 0x44]
jge 0x40bec1
mov eax, dword [eax + 0x40]
lea eax, [eax + ebx*4]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.00404150
mov esi, dword [eax]
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40b414
sub eax, edx
cmp eax, 0x1000
jle 0x40b429
mov eax, 0x1000
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x11b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x11b0], eax
mov byte [eax + ebp + 0x11b4], 0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b46b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push ebp
call fcn.0040a800
mov esi, eax
cmp esi, 0x194
jne 0x40b5ab
mov eax, dword [esp + 0x24]
inc ebx
cmp ebx, eax
jl 0x40b3e0
mov eax, dword [esp + 0x14]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40b493
sub eax, edx
cmp eax, 0x1000
jle 0x40b4a8
mov eax, 0x1000
mov esi, dword [esp + 0x14]
mov ecx, eax
mov edx, ecx
shr ecx, 2
lea edi, [ebp + 0x11b4]
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 0x11b0], eax
mov byte [eax + ebp + 0x11b4], 0
call fcn.0051ffd3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x19c], 1
call fcn.0051ffd3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
lea ebx, [eax + 0x10]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x19c], 2
call fcn.0051ffd3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x20], eax
mov byte [esp + 0x19c], 3
call fcn.0051ffd3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x24], eax
lea eax, [ebp + 0x11b5]
push eax
lea ecx, [esp + 0x2c]
push 0x58d23c
push ecx
mov byte [esp + 0x1a8], 4
call fcn.00406c70
add esp, 0xc
mov byte [esp + 0x19c], 5
mov ecx, dword [eax]
mov edi, dword [esp + 0x10]
lea eax, [ecx - 0x10]
add edi, 0xfffffff0
cmp eax, edi
je 0x40b5e9
mov edx, dword [edi + 0xc]
test edx, edx
lea esi, [edi + 0xc]
jl 0x40b5db
mov edx, dword [eax]
cmp edx, dword [edi]
jne 0x40b5db
push eax
call fcn.00401400
mov dword [esp + 0x20], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [esi], eax
dec eax
test eax, eax
jg 0x40b59e
mov ecx, dword [edi]
mov edx, dword [ecx]
push edi
call dword [edx + 4]
mov eax, dword [esp + 0x1c]
add eax, 0x10
mov dword [esp + 0x10], eax
jmp 0x40b5e9
mov dword [esp + 0x19c], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b5d4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, esi
jmp 0x40c0b5
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00403060
mov byte [esp + 0x19c], 4
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
or esi, 0xffffffff
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b611
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
push 3
push 0x55e4e8
lea ecx, [esp + 0x18]
call fcn.00404200
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x54]
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_FindFirstFileA]
mov ecx, eax
cmp ecx, esi
mov dword [esp + 0x1c], ecx
jne 0x40b6fb
mov byte [esp + 0x19c], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, esi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40b664
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b689
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
mov byte [esp + 0x19c], 1
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b6aa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b6cf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov dword [esp + 0x19c], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x40b6f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, 0x194
jmp 0x40c0b5
mov eax, dword [ebp + 0x70]
mov edx, dword [eax + 0x60]
test edx, edx
jne 0x40b7cc
push ecx
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov byte [esp + 0x19c], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b735
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b75a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebx - 0x10]
mov byte [esp + 0x19c], 1
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b77b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, esi
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b7a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov dword [esp + 0x19c], esi
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], esi
dec esi
test esi, esi
jg 0x40b7c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, 0x193
jmp 0x40c0b5
push 0x28
call fcn.0051fe69
mov edi, eax
add esp, 4
mov dword [esp + 0x28], edi
test edi, edi
mov byte [esp + 0x19c], 6
je 0x40b7fc
push 0x400
mov ecx, edi
call fcn.00527061
mov dword [edi], method.CMemFile.virtual_0
jmp 0x40b7fe
xor edi, edi
push str.gzip
mov byte [esp + 0x1a0], 4
push ebp
mov dword [ebp + 0x3390], edi
call fcn.0040dab0
push str.private
push ebp
mov eax, str.Cache_control
call fcn.004077e0
push 0x55ea80
push ebp
mov eax, 0x55ea70
call fcn.004077e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40b866
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0xf
push str._head__r_n_title_
je 0x40b859
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40b88f
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40b88f
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40b87d
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40b87d
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0xf
mov ecx, str._head__r_n_title_
call fcn.00422e00
mov edi, dword [ebp + 0x90]
lea esi, [ebp + 0x94]
mov eax, esi
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40b8d3
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 3
push 0x55e4cc
je 0x40b8c6
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40b8fc
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40b8fc
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40b8ea
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40b8ea
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 3
mov ecx, 0x55e4cc
call fcn.00422e00
mov eax, dword [ebp + 0x11ac]
mov edi, dword [eax - 0xc]
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40b93b
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0x1b
push str.__title__r_n__head__r_n_body__r_n
je 0x40b92e
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40b964
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40b964
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40b952
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40b952
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0x1b
mov ecx, str.__title__r_n__head__r_n_body__r_n
call fcn.00422e00
mov eax, dword [ebp + 0x70]
mov ecx, dword [eax + 0x64]
test ecx, ecx
je 0x40ba41
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40b9a1
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0x12
push str._a_folder_http:__
je 0x40b994
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40b9ca
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40b9ca
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40b9b8
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40b9b8
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0x12
mov ecx, str._a_folder_http:__
call fcn.00422e00
mov edi, dword [ebp + 0x90]
mov eax, esi
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x11ac]
mov edi, dword [eax - 0xc]
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40ba18
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0x50
push str.__ido_style_behavior:url_defaultAnchorClick_____a__script_o.click____script_
je 0x40ba0b
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40ba41
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40ba41
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40ba2f
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40ba2f
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0x50
mov ecx, str.__ido_style_behavior:url_defaultAnchorClick_____a__script_o.click____script_
call fcn.00422e00
mov eax, dword [ebp + 0x70]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx - 0xc]
mov eax, ecx
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40ba82
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 4
push str._H1_
je 0x40ba75
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40baab
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40baab
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40ba99
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40ba99
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 4
mov ecx, str._H1_
call fcn.00422e00
mov edi, dword [ebp + 0x90]
mov eax, esi
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bae9
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 3
push 0x55e4cc
je 0x40badc
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40bb12
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40bb12
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40bb00
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40bb00
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 3
mov ecx, 0x55e4cc
call fcn.00422e00
mov eax, dword [ebp + 0x11ac]
mov edi, dword [eax - 0xc]
mov ecx, ebp
call fcn.004074e0
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bb51
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0x10
push str.__H1__hr__r_n_pre_
je 0x40bb44
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40bb7a
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40bb7a
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40bb68
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40bb68
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0x10
mov ecx, str.__H1__hr__r_n_pre_
call fcn.00422e00
mov eax, dword [ebp + 0x11ac]
push 0x55e424
push eax
call fcn.004bb34d
add esp, 8
test eax, eax
je 0x40bbea
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bbc1
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0x29
push str._a_href_..____To_Parent_Directory___a__r_n
je 0x40bbb4
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40bbea
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40bbea
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40bbd8
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40bbd8
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0x29
mov ecx, str._a_href_..____To_Parent_Directory___a__r_n
call fcn.00422e00
lea ecx, [esp + 0x3c]
call fcn.0051e8b1
mov byte [esp + 0x19c], 7
mov esi, dword [sym.imp.KERNEL32.DLL_FileTimeToSystemTime]
lea eax, [esp + 0x80]
lea edx, [eax + 1]
jmp 0x40bc10
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40bc10
sub eax, edx
push eax
lea ecx, [esp + 0x84]
push ecx
lea ecx, [esp + 0x20]
call fcn.00403060
mov ebx, dword [esp + 0x18]
push 0x55e3f4
push ebx
call fcn.004bb34d
add esp, 8
test eax, eax
je 0x40bdd9
push 0x55e3f0
push ebx
call fcn.004bb34d
add esp, 8
test eax, eax
je 0x40bdd9
test byte [esp + 0x54], 2
jne 0x40bdd9
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x6c]
push eax
call esi
movzx ecx, word [esp + 0x38]
movzx edx, word [esp + 0x36]
movzx eax, word [esp + 0x34]
push ecx
movzx ecx, word [esp + 0x36]
push edx
movzx edx, word [esp + 0x36]
push eax
movzx eax, word [esp + 0x38]
push ecx
push edx
push eax
lea ecx, [esp + 0x28]
push str._________04d__02d__02d__02d:_02d:_02d
push ecx
call fcn.0044c220
mov al, byte [esp + 0x74]
add esp, 0x20
test al, 0x10
je 0x40bcc2
push 0x1e
push str._________lt_dirgt___a_href_
lea ecx, [esp + 0x18]
call fcn.00404200
jmp 0x40bcef
mov edx, dword [esp + 0x70]
push 1
push 0
push 0
push edx
call fcn.004bd660
mov ecx, dword [esp + 0x74]
xor edi, edi
add eax, ecx
adc edx, edi
push edx
push eax
push str._14I64d__a_href_
lea edi, [esp + 0x1c]
call fcn.00404a40
add esp, 0xc
push 0
push ecx
lea eax, [ebx - 0x10]
mov dword [esp + 0x58], esp
mov edi, esp
push eax
call fcn.00401400
lea edx, [esp + 0x34]
add esp, 4
add eax, 0x10
push edx
mov dword [edi], eax
call fcn.004081a0
add esp, 0xc
mov byte [esp + 0x19c], 8
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00404200
mov byte [esp + 0x19c], 7
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bd54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test byte [esp + 0x54], 0x10
lea ecx, [esp + 0x10]
je 0x40bd68
push 3
push 0x55e390
jmp 0x40bd6f
push 2
push 0x55e38c
call fcn.00404200
lea eax, [esp + 0x80]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40bd80
sub eax, edx
push eax
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x20]
call fcn.00403060
lea ebx, [esp + 0x18]
call fcn.00423820
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00404200
push 6
push str.__a__r_n
lea ecx, [esp + 0x18]
call fcn.00404200
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x10]
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.0051ea65
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x54]
push eax
push edi
call dword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
jne 0x40bc01
push edi
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov eax, dword [esp + 0x44]
test eax, eax
mov edi, eax
mov dword [esp + 0x1c], edi
je 0x40be9f
mov ecx, dword [esp + 0x40]
push 0x40b300
push 4
push eax
push ecx
call fcn.004bba70
add esp, 0x10
xor esi, esi
test edi, edi
jle 0x40be9f
test esi, esi
jl 0x40bec1
cmp esi, dword [esp + 0x44]
jge 0x40bec1
mov eax, dword [esp + 0x40]
mov edx, dword [eax + esi*4]
mov edi, dword [edx - 0xc]
test edi, edi
mov ebx, edx
jle 0x40be96
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40be71
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push edi
push ebx
je 0x40be64
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40be96
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40be96
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40be88
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40be88
push ebp
call fcn.0040d470
mov edx, dword [ebp + 0x6c]
mov ecx, ebx
mov eax, edi
mov ebx, edx
call fcn.00422e00
mov eax, dword [esp + 0x1c]
inc esi
cmp esi, eax
jl 0x40be25
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bed3
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 0xa
push str.__pre__hr_
je 0x40bec6
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40befc
call fcn.0051e63c
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40befc
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40beea
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40beea
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 0xa
mov ecx, str.__pre__hr_
call fcn.00422e00
mov eax, dword [ebp + 0x70]
mov ecx, dword [eax + 0x34]
mov edi, dword [ecx - 0xc]
test edi, edi
mov esi, ecx
jle 0x40bf58
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bf35
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push edi
push esi
je 0x40bf28
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40bf58
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40bf58
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40bf4c
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40bf4c
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, edi
mov ecx, esi
call fcn.00422e00
mov eax, dword [ebp + 0x32a4]
test eax, eax
je 0x40bf87
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
push 7
push str.__body_
je 0x40bf7a
mov edx, dword [ecx]
call dword [edx + 0x38]
jmp 0x40bfb0
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
call dword [eax + 0x38]
jmp 0x40bfb0
mov eax, dword [ebp + 0x32a0]
test eax, eax
jne 0x40bf9e
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x40bf9e
push ebp
call fcn.0040d470
mov ebx, dword [ebp + 0x6c]
mov eax, 7
mov ecx, str.__body_
call fcn.00422e00
mov ecx, dword [ebp + 0x32d4]
test ecx, ecx
je 0x40bfbf
mov edx, dword [ecx]
call dword [edx + 0x4c]
mov ecx, dword [ebp + 0x3390]
mov eax, dword [ecx]
push 0
push 0
push 0
call dword [eax + 0x28]
mov ecx, dword [ebp + 0x3390]
mov edx, dword [ecx]
call dword [edx + 0x30]
lea ecx, [esp + 0x3c]
mov dword [ebp + 0x338c], eax
mov byte [esp + 0x19c], 4
call fcn.0051e903
mov byte [esp + 0x19c], 3
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c018
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 2
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c03e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 1
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c064
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov byte [esp + 0x19c], 0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c08a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov dword [esp + 0x19c], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c0b3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
xor eax, eax
mov ecx, dword [esp + 0x194]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x190
ret 4