Function at 0x40dcf0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5de80e
mov eax, dword fs:[0]
push eax
sub esp, 0x8ec
mov eax, dword [0x65bde0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8d0], eax
mov edi, ecx
mov ebx, edx
xor eax, eax
mov dword [ebp - 0x8f8], edi
mov dword [ebp - 0x8ec], ebx
mov dword [ebp - 0x8c0], eax
mov edx, 0x617668
lea ecx, [ebp - 0x8d4]
mov dword [ebp - 4], eax
mov dword [ebp - 0x8c8], eax
mov dword [ebp - 0x8c4], eax
call fcn.004194f0
mov byte [ebp - 4], 1
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
mov edx, dword [esi + 0x170]
push eax
mov ecx, edi
call edx
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0
call fcn.0040a260
mov eax, dword [ebx + 0x20]
push 1
push 0
push eax
call fcn.00432ec0
mov ecx, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push ecx
call fcn.00432ec0
add esp, 0xc
push 0x103
lea edx, [ebp - 0x31f]
push 0
push edx
mov byte [ebp - 0x320], 0
call fcn.005b6e50
add esp, 0xc
push 0x103
lea eax, [ebp - 0x52f]
push 0
push eax
mov dword [ebp - 0x8e8], 0
mov byte [ebp - 0x530], 0
call fcn.005b6e50
add esp, 0xc
push 0x103
lea ecx, [ebp - 0x637]
push 0
push ecx
mov byte [ebp - 0x638], 0
call fcn.005b6e50
add esp, 0xc
lea edx, [ebp - 0x320]
push 0x1a
push edx
call fcn.0042df00
add esp, 8
mov edx, 0x61769c
lea ecx, [ebp - 0x8d4]
call fcn.004193c0
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.004199f0
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.0042e800
add esp, 8
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0
call fcn.0040a260
lea eax, [ebp - 0x320]
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x40de60
sub eax, ecx
push eax
lea ecx, [ebp - 0x320]
push ecx
lea edx, [ebp - 0x530]
push edx
call fcn.005b9380
add esp, 0xc
mov edx, 0x6176c0
lea ecx, [ebp - 0x8d4]
call fcn.004193c0
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.004199f0
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.0042e800
add esp, 8
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0
call fcn.0040a260
lea ecx, [ebp - 0x320]
push ecx
call fcn.0042eb30
add esp, 4
test eax, eax
je 0x40df01
mov edx, 0x6176dc
lea ecx, [ebp - 0x8d4]
call fcn.004194f0
push 0
mov ecx, eax
mov dword [ebp - 0x8c0], 1
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40df01
mov bl, 1
jmp 0x40df03
xor bl, bl
test byte [ebp - 0x8c0], 1
je 0x40df1e
and dword [ebp - 0x8c0], 0xfffffffe
lea ecx, [ebp - 0x8d4]
call fcn.0040a260
test bl, bl
je 0x40e262
lea edx, [ebp - 0x8e8]
push edx
lea eax, [ebp - 0x320]
call fcn.0040f330
test eax, eax
js 0x40e262
mov edx, 0x6176f4
lea ecx, [ebp - 0x8f4]
call fcn.004193c0
mov ecx, eax
call fcn.004199f0
mov ecx, dword [ebp - 0x8e8]
call fcn.004118c0
lea ecx, [ebp - 0x8f4]
mov ebx, eax
call fcn.0040a260
test ebx, ebx
je 0x40e262
mov edx, 0x6176f4
lea ecx, [ebp - 0x8f0]
call fcn.004193c0
mov ecx, eax
call fcn.004199f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40df91
sub eax, edx
lea ecx, [ebp - 0x8f0]
add ebx, eax
call fcn.0040a260
mov edx, 0x617704
lea ecx, [ebp - 0x8cc]
call fcn.004193c0
mov ecx, eax
call fcn.004199f0
mov ecx, ebx
call fcn.004118c0
lea ecx, [ebp - 0x8cc]
mov esi, eax
call fcn.0040a260
test esi, esi
je 0x40e262
mov edx, 0x617704
lea ecx, [ebp - 0x8bc]
call fcn.004193c0
mov ecx, eax
call fcn.004199f0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40dff4
sub eax, edx
lea ecx, [ebp - 0x8bc]
add esi, eax
call fcn.0040a260
lea eax, [ebp - 0x8d4]
push eax
push 0x617718
mov byte [esi], 0
push ebx
mov dword [ebp - 0x8d4], 0
call fcn.005b3f56
mov esi, eax
add esp, 0xc
test esi, esi
je 0x40e070
lea ecx, [ebp - 0x530]
push esi
push ecx
call fcn.0042e800
push esi
lea edx, [ebp - 0x638]
push 0x104
push edx
call fcn.005b4036
add esp, 0x14
lea eax, [ebp - 0x8d4]
push eax
push 0x617718
push 0
call fcn.005b3f56
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40e032
mov ecx, dword [ebp - 0x8e8]
push ecx
call fcn.005b3bfc
add esp, 4
push 0x103
lea edx, [ebp - 0x427]
push 0
push edx
mov byte [ebp - 0x428], 0
call fcn.005b6e50
add esp, 0xc
lea eax, [ebp - 0x428]
push 0x1c
push eax
call fcn.0042df00
add esp, 8
mov edx, 0x61771c
lea ecx, [ebp - 0x8bc]
call fcn.004193c0
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.004199f0
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.0042e800
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
lea edx, [ebp - 0x638]
push edx
lea eax, [ebp - 0x428]
push eax
call fcn.0042e800
add esp, 8
mov edx, 0x617750
lea ecx, [ebp - 0x8bc]
call fcn.004193c0
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.004199f0
push eax
lea ecx, [ebp - 0x428]
push ecx
call fcn.0042e800
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
lea edx, [ebp - 0x428]
push edx
call fcn.0042eb30
add esp, 4
test eax, eax
je 0x40e262
lea esi, [ebp - 0x428]
lea eax, [ebp - 0x89c]
call fcn.00408910
lea eax, [ebp - 0x8b8]
push eax
lea esi, [ebp - 0x89c]
mov byte [ebp - 4], 6
call fcn.0040dc40
add esp, 4
mov edi, esi
mov byte [ebp - 4], 8
call fcn.004084e0
sub esp, 0x1c
mov esi, 0x616670
mov eax, esp
mov dword [ebp - 0x8bc], esp
call fcn.00406680
sub esp, 0x1c
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8b8]
mov eax, esp
mov dword [ebp - 0x8cc], esp
push ecx
call fcn.004060a0
mov ecx, dword [ebp - 0x8d0]
mov byte [ebp - 4], 8
call fcn.0040f3e0
mov edi, eax
mov ebx, edx
mov edx, edi
or edx, ebx
mov dword [ebp - 0x8c8], edi
mov dword [ebp - 0x8c4], ebx
je 0x40e24d
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617668
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0xa
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0xa
call fcn.0040a260
mov dword [ebp - 0x848], edi
lea eax, [ebp - 0x8b8]
lea edi, [ebp - 0x864]
mov dword [ebp - 0x844], ebx
call fcn.004118b0
lea ebx, [ebp - 0x880]
call fcn.004111e0
mov esi, ebx
call fcn.00436680
lea edi, [ebp - 0x8b8]
mov byte [ebp - 4], 0
call fcn.004060e0
mov edi, dword [ebp - 0x8f8]
call fcn.004388d0
test eax, eax
je 0x40e270
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
xor eax, eax
push 0x206
push eax
lea ecx, [ebp - 0x216]
push ecx
mov word [ebp - 0x218], ax
call fcn.005b6e50
add esp, 0xc
mov edx, 0x617760
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0xc
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
mov edx, dword [esi + 0x170]
push eax
mov ecx, edi
call edx
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax + 0x20]
push 1
push 0
push ecx
call fcn.00432ec0
mov edx, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push edx
call fcn.00432ec0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005b6e50
add esp, 0xc
lea ecx, [ebp - 0x218]
push 0x20
push ecx
call fcn.0042c1c0
lea edx, [ebp - 0x218]
push edx
call fcn.0042c100
add esp, 0xc
test eax, eax
je 0x40e360
mov edx, 0x617794
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 2
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40e360
mov bl, 1
jmp 0x40e362
xor bl, bl
test byte [ebp - 0x8c0], 2
je 0x40e37d
and dword [ebp - 0x8c0], 0xfffffffd
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
test bl, bl
je 0x40e485
mov edx, 0x6177a8
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov bl, 0xd
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, esp
mov dword [ebp - 0x8cc], esp
call fcn.00406680
sub esp, 0x1c
mov byte [ebp - 4], 0xe
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8f0], esp
call fcn.00406680
mov ecx, dword [ebp - 0x8d0]
mov byte [ebp - 4], bl
call fcn.0040f3e0
mov esi, edx
lea ecx, [ebp - 0x8bc]
mov ebx, eax
mov dword [ebp - 0x8dc], esi
mov byte [ebp - 4], 0
call fcn.0040a260
add dword [ebp - 0x8c8], ebx
mov eax, ebx
adc dword [ebp - 0x8c4], esi
or eax, esi
je 0x40e485
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617760
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0xf
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0xf
call fcn.0040a260
mov ecx, dword [ebp - 0x8dc]
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x864]
mov dword [ebp - 0x848], ebx
mov dword [ebp - 0x844], ecx
call fcn.00410e40
lea ebx, [ebp - 0x880]
call fcn.004111e0
mov esi, ebx
mov byte [ebp - 4], 0
call fcn.00436680
call fcn.004388d0
test eax, eax
je 0x40e493
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
mov edx, 0x6177c0
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0x11
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
mov edx, dword [esi + 0x170]
push eax
mov ecx, edi
call edx
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax + 0x20]
push 1
push 0
push ecx
call fcn.00432ec0
mov edx, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push edx
call fcn.00432ec0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005b6e50
add esp, 0xc
lea ecx, [ebp - 0x218]
push 0x24
push ecx
call fcn.0042c1c0
add esp, 8
mov edx, 0x6177c0
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.004199f0
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.0042c400
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
lea eax, [ebp - 0x218]
push eax
call fcn.0042c100
add esp, 4
test eax, eax
je 0x40e5a2
mov edx, 0x6177f4
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 4
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40e5a2
mov bl, 1
jmp 0x40e5a4
xor bl, bl
test byte [ebp - 0x8c0], 4
je 0x40e5bf
and dword [ebp - 0x8c0], 0xfffffffb
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
test bl, bl
je 0x40e6c7
mov edx, 0x6177a8
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov bl, 0x13
mov ecx, eax
mov byte [ebp - 4], bl
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, esp
mov dword [ebp - 0x8cc], esp
call fcn.00406680
sub esp, 0x1c
mov byte [ebp - 4], 0x14
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8f0], esp
call fcn.00406680
mov ecx, dword [ebp - 0x8d0]
mov byte [ebp - 4], bl
call fcn.0040f3e0
mov esi, edx
lea ecx, [ebp - 0x8bc]
mov ebx, eax
mov dword [ebp - 0x8dc], esi
mov byte [ebp - 4], 0
call fcn.0040a260
add dword [ebp - 0x8c8], ebx
mov ecx, ebx
adc dword [ebp - 0x8c4], esi
or ecx, esi
je 0x40e6c7
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617810
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x15
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x15
call fcn.0040a260
mov edx, dword [ebp - 0x8dc]
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x864]
mov dword [ebp - 0x848], ebx
mov dword [ebp - 0x844], edx
call fcn.00410e40
lea ebx, [ebp - 0x880]
call fcn.004111e0
mov esi, ebx
mov byte [ebp - 4], 0
call fcn.00436680
call fcn.004388d0
test eax, eax
je 0x40e6d5
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
mov edx, 0x617854
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0x17
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
push eax
mov eax, dword [esi + 0x170]
mov ecx, edi
call eax
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov ecx, dword [ebp - 0x8ec]
mov edx, dword [ecx + 0x20]
push 1
push 0
push edx
call fcn.00432ec0
mov eax, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push eax
call fcn.00432ec0
add esp, 0xc
push 0x14
call fcn.004b44f3
add esp, 4
test eax, eax
je 0x40e767
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov esi, eax
mov dword [ebp - 0x8e8], eax
jmp 0x40e76f
xor esi, esi
mov dword [ebp - 0x8e8], esi
push esi
mov dword [esi], 0x14
call fcn.0042f660
add esp, 4
test eax, eax
jne 0x40e7b3
mov edx, 0x617870
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 8
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40e7b3
mov bl, 1
jmp 0x40e7b5
xor bl, bl
test byte [ebp - 0x8c0], 8
je 0x40e7d0
and dword [ebp - 0x8c0], 0xfffffff7
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
test bl, bl
je 0x40e876
mov ecx, dword [esi + 4]
or ecx, dword [esi + 8]
je 0x40e876
lea esi, [ebp - 0x880]
call fcn.0043d310
mov bl, 0x18
mov edx, 0x617854
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], bl
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x19
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], bl
call fcn.0040a260
mov eax, dword [ebp - 0x8e8]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
lea ebx, [ebp - 0x880]
mov dword [ebp - 0x848], edx
mov dword [ebp - 0x844], eax
call fcn.004111e0
mov eax, dword [ebp - 0x8e8]
mov ecx, dword [eax + 4]
add dword [ebp - 0x8c8], ecx
mov edx, dword [eax + 8]
mov esi, ebx
adc dword [ebp - 0x8c4], edx
mov byte [ebp - 4], 0
call fcn.00436680
mov esi, dword [ebp - 0x8e8]
push esi
call fcn.004b452d
add esp, 4
call fcn.004388d0
test eax, eax
je 0x40e88d
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
mov edx, 0x617888
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0x1a
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
push eax
mov eax, dword [esi + 0x170]
mov ecx, edi
call eax
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov ecx, dword [ebp - 0x8ec]
mov edx, dword [ecx + 0x20]
push 1
push 0
push edx
call fcn.00432ec0
mov eax, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push eax
call fcn.00432ec0
add esp, 0xc
xor ecx, ecx
push 0x206
push ecx
lea edx, [ebp - 0x83e]
push edx
mov word [ebp - 0x840], cx
call fcn.005b6e50
add esp, 0xc
lea eax, [ebp - 0x840]
push eax
push 0x104
call fcn.00431ac0
lea ecx, [ebp - 0x840]
push ecx
call fcn.0042c100
add esp, 0xc
test eax, eax
je 0x40e96a
mov edx, 0x6178ac
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 0x10
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40e96a
mov bl, 1
jmp 0x40e96c
xor bl, bl
test byte [ebp - 0x8c0], 0x10
je 0x40e987
and dword [ebp - 0x8c0], 0xffffffef
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
test bl, bl
je 0x40ea64
sub esp, 0x1c
mov esi, 0x616670
mov eax, esp
mov dword [ebp - 0x8bc], esp
call fcn.00406680
sub esp, 0x1c
mov byte [ebp - 4], 0x1b
lea esi, [ebp - 0x840]
mov eax, esp
mov dword [ebp - 0x8cc], esp
call fcn.00406680
mov ecx, dword [ebp - 0x8d0]
mov byte [ebp - 4], 0
call fcn.0040f3e0
mov ebx, eax
add dword [ebp - 0x8c8], ebx
mov dword [ebp - 0x8dc], edx
adc dword [ebp - 0x8c4], edx
or eax, edx
je 0x40ea64
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617888
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x1c
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x1c
call fcn.0040a260
mov ecx, dword [ebp - 0x8dc]
lea esi, [ebp - 0x840]
lea eax, [ebp - 0x864]
mov dword [ebp - 0x848], ebx
mov dword [ebp - 0x844], ecx
call fcn.00410e40
lea ebx, [ebp - 0x880]
call fcn.004111e0
mov esi, ebx
mov byte [ebp - 4], 0
call fcn.00436680
call fcn.004388d0
test eax, eax
je 0x40ea72
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
mov edx, 0x6178c0
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0x1e
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
mov edx, dword [esi + 0x170]
push eax
mov ecx, edi
call edx
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax + 0x20]
push 1
push 0
push ecx
call fcn.00432ec0
mov edx, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push edx
call fcn.00432ec0
add esp, 0xc
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005b6e50
add esp, 0xc
lea ecx, [ebp - 0x218]
push 0x24
push ecx
call fcn.0042c1c0
lea edx, [ebp - 0x218]
push edx
call fcn.0042c100
add esp, 0xc
test eax, eax
je 0x40eb44
mov edx, 0x6178d8
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 0x20
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
test eax, eax
jns 0x40eb44
mov bl, 1
jmp 0x40eb46
xor bl, bl
test byte [ebp - 0x8c0], 0x20
je 0x40eb61
and dword [ebp - 0x8c0], 0xffffffdf
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
test bl, bl
je 0x40ef27
push 0
sub esp, 0x1c
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8bc], esp
call fcn.00406680
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
mov dword [ebp - 0x8dc], edx
push 1
mov edx, 0x6178f0
lea ecx, [ebp - 0x8cc]
mov ebx, eax
call fcn.004194f0
mov edi, eax
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x1f
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x20
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8e8], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
add ebx, eax
adc dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x89c]
call fcn.004060e0
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 0
call fcn.0040a260
push 1
mov edx, 0x61791c
lea ecx, [ebp - 0x8cc]
call fcn.004194f0
mov edi, eax
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x21
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x22
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8e8], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
add ebx, eax
adc dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x89c]
call fcn.004060e0
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 0
call fcn.0040a260
push 1
mov edx, 0x617928
lea ecx, [ebp - 0x8cc]
call fcn.004194f0
mov edi, eax
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x23
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8e8], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
add ebx, eax
adc dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x89c]
call fcn.004060e0
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], 0
call fcn.0040a260
push 1
mov edx, 0x617948
lea ecx, [ebp - 0x8f0]
call fcn.004194f0
mov edi, eax
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x25
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x26
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8cc], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
add ebx, eax
adc dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x89c]
call fcn.004060e0
lea ecx, [ebp - 0x8f0]
mov byte [ebp - 4], 0
call fcn.0040a260
push 1
mov edx, 0x617958
lea ecx, [ebp - 0x8f4]
call fcn.004194f0
mov edi, eax
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x27
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x28
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8cc], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
add ebx, eax
adc dword [ebp - 0x8dc], edx
lea edi, [ebp - 0x89c]
call fcn.004060e0
lea ecx, [ebp - 0x8f4]
mov byte [ebp - 4], 0
call fcn.0040a260
push 1
mov edx, 0x617968
lea ecx, [ebp - 0x8d4]
call fcn.004194f0
mov edi, eax
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x89c]
mov byte [ebp - 4], 0x29
call fcn.00406680
mov dword [ebp - 0x8bc], eax
mov ecx, edi
mov byte [ebp - 4], 0x2a
call fcn.004199f0
sub esp, 0x1c
mov esi, eax
mov eax, dword [ebp - 0x8bc]
mov edi, esp
mov dword [ebp - 0x8cc], esp
call fcn.00411200
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f640
mov esi, dword [ebp - 0x8dc]
add ebx, eax
adc esi, edx
lea edi, [ebp - 0x89c]
mov dword [ebp - 0x8dc], esi
call fcn.004060e0
lea ecx, [ebp - 0x8d4]
mov byte [ebp - 4], 0
call fcn.0040a260
add dword [ebp - 0x8c8], ebx
mov eax, ebx
adc dword [ebp - 0x8c4], esi
or eax, esi
je 0x40ef21
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617980
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x2b
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x2c
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x2b
call fcn.0040a260
mov ecx, dword [ebp - 0x8dc]
lea esi, [ebp - 0x218]
lea eax, [ebp - 0x864]
mov dword [ebp - 0x848], ebx
mov dword [ebp - 0x844], ecx
call fcn.00410e40
lea ebx, [ebp - 0x880]
call fcn.004111e0
mov esi, ebx
mov byte [ebp - 4], 0
call fcn.00436680
mov edi, dword [ebp - 0x8f8]
call fcn.004388d0
test eax, eax
je 0x40ef35
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
mov edx, 0x617998
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov byte [ebp - 4], 0x2d
mov esi, dword [edi]
mov ecx, eax
call fcn.004199f0
mov edx, dword [esi + 0x170]
push eax
mov ecx, edi
call edx
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax + 0x20]
push 1
push 0
push ecx
call fcn.00432ec0
mov edx, dword [edi + 0x20]
add esp, 0xc
push 1
push 0
push edx
call fcn.00432ec0
add esp, 0xc
xor ebx, ebx
push 0x104
lea eax, [ebp - 0x218]
push ebx
push eax
xor edi, edi
mov dword [ebp - 0x8dc], ebx
call fcn.005b6e50
add esp, 0xc
lea ecx, [ebp - 0x218]
push 0x24
push ecx
call fcn.0042c1c0
add esp, 8
mov edx, 0x6179e8
lea ecx, [ebp - 0x8cc]
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.004199f0
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.0042c400
add esp, 8
lea ecx, [ebp - 0x8cc]
mov byte [ebp - 4], bl
call fcn.0040a260
lea eax, [ebp - 0x218]
push eax
call fcn.0042c100
add esp, 4
test eax, eax
je 0x40f04e
sub esp, 0x1c
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8bc], esp
call fcn.00406680
call fcn.0040ff00
mov edi, eax
xor eax, eax
add dword [ebp - 0x8c8], edi
mov dword [ebp - 0x8dc], eax
mov ebx, eax
adc dword [ebp - 0x8c4], eax
push 0x104
lea ecx, [ebp - 0x218]
push 0
push ecx
call fcn.005b6e50
add esp, 0xc
lea edx, [ebp - 0x218]
push 0x24
push edx
call fcn.0042c1c0
add esp, 8
mov edx, 0x617a00
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x2f
call fcn.004199f0
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.0042c400
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
lea ecx, [ebp - 0x218]
push ecx
call fcn.0042c100
add esp, 4
test eax, eax
je 0x40f0fc
push 1
sub esp, 0x1c
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8bc], esp
call fcn.00406680
mov edx, dword [ebp - 0x8d0]
push edx
call fcn.0040fc30
add edi, eax
adc ebx, edx
add dword [ebp - 0x8c8], edi
mov dword [ebp - 0x8dc], ebx
adc dword [ebp - 0x8c4], ebx
push 0x104
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.005b6e50
add esp, 0xc
lea ecx, [ebp - 0x218]
push 0x23
push ecx
call fcn.0042c1c0
add esp, 8
mov edx, 0x617a14
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x30
call fcn.004199f0
push eax
lea edx, [ebp - 0x218]
push edx
call fcn.0042c400
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
lea eax, [ebp - 0x218]
push eax
call fcn.0042c100
add esp, 4
test eax, eax
je 0x40f201
push 1
sub esp, 0x1c
lea esi, [ebp - 0x218]
mov eax, esp
mov dword [ebp - 0x8cc], esp
call fcn.00406680
mov ecx, dword [ebp - 0x8d0]
call fcn.0040f970
push 0x104
add edi, eax
mov ecx, esi
adc ebx, edx
push 0
push ecx
mov dword [ebp - 0x8dc], ebx
call fcn.005b6e50
add esp, 0xc
mov edx, esi
push 0x28
push edx
call fcn.0042c1c0
add esp, 8
mov edx, 0x617a48
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x31
call fcn.004199f0
push eax
mov eax, esi
push eax
call fcn.0042c400
add esp, 8
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0
call fcn.0040a260
mov ecx, esi
push ecx
call fcn.0042c100
add esp, 4
mov edx, edi
or edx, ebx
je 0x40f23b
mov edx, 0x617a94
lea ecx, [ebp - 0x8bc]
call fcn.004194f0
or dword [ebp - 0x8c0], 0x40
push 0
mov ecx, eax
call fcn.004199f0
push eax
lea ecx, [ebp + 0xc]
call fcn.00409d10
mov byte [ebp - 0x8e1], 1
test eax, eax
js 0x40f242
mov byte [ebp - 0x8e1], 0
test byte [ebp - 0x8c0], 0x40
je 0x40f256
lea ecx, [ebp - 0x8bc]
call fcn.0040a260
cmp byte [ebp - 0x8e1], 0
je 0x40f2d9
lea esi, [ebp - 0x880]
call fcn.0043d310
mov edx, 0x617998
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x32
call fcn.004194f0
mov ecx, eax
mov byte [ebp - 4], 0x33
call fcn.004199f0
mov esi, eax
lea eax, [ebp - 0x880]
call fcn.00410e40
lea ecx, [ebp - 0x8bc]
mov byte [ebp - 4], 0x32
call fcn.0040a260
mov dword [ebp - 0x844], ebx
lea ebx, [ebp - 0x880]
mov dword [ebp - 0x848], edi
call fcn.004111e0
add dword [ebp - 0x8c8], edi
mov eax, dword [ebp - 0x8dc]
mov esi, ebx
adc dword [ebp - 0x8c4], eax
mov byte [ebp - 4], 0
call fcn.00436680
call fcn.004388d0
test eax, eax
je 0x40f2e7
call fcn.00410d40
push 0x1f4
call fcn.0042ed50
add esp, 4
lea ecx, [ebp + 0xc]
call fcn.0040a260
mov eax, dword [ebp - 0x8c8]
mov edx, dword [ebp - 0x8c4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005b3023
mov esp, ebp
pop ebp
ret 8