Function at 0x40bdb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4104ee
mov eax, dword fs:[0]
push eax
sub esp, 0x294
mov eax, dword [0x417200]
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 esi, ecx
call fcn.0040e628
push 0x90
call fcn.0040e39a
add esp, 4
mov dword [ebp - 0x288], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x40be0a
mov ecx, eax
call fcn.00405be0
jmp 0x40be0c
xor eax, eax
or edi, 0xffffffff
push 4
mov dword [ebp - 4], edi
mov dword [esi + 0xc8], eax
call fcn.0040e39a
add esp, 4
mov dword [ebp - 0x288], eax
mov dword [ebp - 4], 1
cmp eax, ebx
je 0x40be3c
mov ecx, eax
call fcn.00402750
jmp 0x40be3e
xor eax, eax
mov ecx, eax
mov dword [ebp - 4], edi
mov dword [esi + 0xcc], eax
call fcn.00402b80
test al, al
jne 0x40be9f
lea ecx, [ebp - 0x28c]
call dword [0x411530]
push 0x66
lea ecx, [ebp - 0x28c]
mov dword [ebp - 4], 2
call dword [0x4112f0]
push ebx
push 0x10
lea ecx, [ebp - 0x28c]
call dword [0x4115b8]
push eax
call fcn.0040e778
push ebx
mov ecx, esi
call fcn.0040e78a
lea ecx, [ebp - 0x28c]
mov dword [ebp - 4], edi
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea eax, [ebp - 0x288]
push eax
call fcn.004054e0
push eax
mov ecx, 0x417704
mov dword [ebp - 4], 3
call dword [0x411540]
lea ecx, [ebp - 0x288]
mov dword [ebp - 4], edi
call dword [0x4115d4]
mov ecx, 0x417704
call dword [0x411538]
test al, al
je 0x40beef
push 0x67
mov ecx, 0x417704
call dword [0x4112f0]
mov ecx, dword [esi + 0x20]
push ebx
push ecx
call dword [0x411210]
push eax
call fcn.0040e7c0
mov edi, eax
cmp edi, ebx
je 0x40bf9a
lea ecx, [ebp - 0x28c]
call dword [0x411530]
mov ecx, dword [esi + 0xcc]
lea edx, [ebp - 0x288]
push edx
mov dword [ebp - 4], 4
call fcn.004055b0
push eax
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 5
call dword [0x411540]
lea ecx, [ebp - 0x288]
call dword [0x4115d4]
lea ecx, [ebp - 0x28c]
call dword [0x411538]
test al, al
jne 0x40bf87
mov eax, dword [edi + 4]
push ebx
push ebx
push 0x800
push eax
call dword [0x411218]
lea ecx, [ebp - 0x28c]
call dword [0x4115b8]
mov ecx, dword [edi + 4]
push eax
push 0x10
push ebx
push ecx
call dword [0x411218]
lea ecx, [ebp - 0x28c]
mov dword [ebp - 4], 0xffffffff
call dword [0x4115d4]
mov eax, dword [esi + 0x168]
mov edx, dword [esi + 0x20]
mov edi, dword [0x411214]
push eax
push 1
push 0x80
push edx
call edi
mov eax, dword [esi + 0x168]
push eax
mov eax, dword [esi + 0x20]
push ebx
push 0x80
push eax
call edi
call fcn.0040e394
mov eax, dword [eax + 8]
push 0x208
lea ecx, [ebp - 0x218]
push ecx
push eax
call dword [0x411078]
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x294]
call dword [0x4115c0]
push 0x5c
lea ecx, [ebp - 0x294]
mov dword [ebp - 4], 6
call dword [0x4115c4]
mov edi, eax
push edi
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x294]
call dword [0x4115d0]
mov ecx, eax
call dword [0x4115b8]
push eax
call dword [0x41107c]
lea ecx, [ebp - 0x288]
call dword [0x4115d4]
push edi
lea ecx, [ebp - 0x288]
push ecx
lea ecx, [ebp - 0x294]
call dword [0x4115d0]
mov edi, eax
mov byte [ebp - 4], 7
call fcn.0040e394
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xb8]
push edi
call fcn.00405970
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 6
call dword [0x4115d4]
push 0x411964
lea ecx, [ebp - 0x298]
call dword [0x4115c0]
lea edx, [ebp - 0x298]
push edx
mov ecx, esi
mov byte [ebp - 4], 8
call fcn.0040e892
lea eax, [ebp - 0x2a0]
push eax
mov ecx, esi
call fcn.00408be0
push 0x411964
lea ecx, [ebp - 0x2a0]
mov byte [ebp - 4], 9
call dword [0x411524]
test eax, eax
je 0x40c113
lea ecx, [ebp - 0x2a0]
push ecx
lea edx, [ebp - 0x288]
push 0x4123c4
push edx
call fcn.00402860
add esp, 0xc
push eax
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0xa
call dword [0x411554]
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
lea ecx, [ebp - 0x298]
call dword [0x4115b8]
push eax
mov ecx, esi
call fcn.0040e77e
mov ecx, dword [esi + 0xcc]
lea eax, [ebp - 0x288]
push eax
call fcn.00403920
mov ecx, eax
mov byte [ebp - 4], 0xb
call dword [0x4115b8]
push eax
push 0x3ff
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [esi + 0xcc]
call fcn.004039f0
mov ecx, eax
mov byte [ebp - 4], 0xc
call dword [0x4115b8]
push eax
push 0x401
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea edx, [ebp - 0x288]
push edx
call fcn.00403ac0
mov ecx, eax
mov byte [ebp - 4], 0xd
call dword [0x4115b8]
push eax
push 0x404
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea eax, [ebp - 0x288]
push eax
call fcn.00403b90
mov ecx, eax
mov byte [ebp - 4], 0xe
call dword [0x4115b8]
push eax
push 0x405
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [esi + 0xcc]
call fcn.00403c60
mov ecx, eax
mov byte [ebp - 4], 0xf
call dword [0x4115b8]
push eax
push 0x406
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea edx, [ebp - 0x288]
push edx
call fcn.00403850
mov ecx, eax
mov byte [ebp - 4], 0x10
call dword [0x4115b8]
push eax
push 0x3ec
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea eax, [ebp - 0x288]
push eax
call fcn.00403d30
mov ecx, eax
mov byte [ebp - 4], 0x11
call dword [0x4115b8]
push eax
push 0x40f
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [esi + 0xcc]
call fcn.00403e00
mov ecx, eax
mov byte [ebp - 4], 0x12
call dword [0x4115b8]
push eax
push 0x415
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea edx, [ebp - 0x288]
push edx
call fcn.00403ed0
mov ecx, eax
mov byte [ebp - 4], 0x13
call dword [0x4115b8]
push eax
push 0x414
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov ecx, dword [esi + 0xcc]
lea eax, [ebp - 0x288]
push eax
call fcn.00403fa0
mov ecx, eax
mov byte [ebp - 4], 0x14
call dword [0x4115b8]
push eax
push 0x3f7
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [esi + 0xcc]
call fcn.00404160
mov ecx, eax
mov byte [ebp - 4], 0x15
call dword [0x4115b8]
push eax
push 0x3f9
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e77e
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
push 7
push ebx
push 0x19
push 0x10
push 0x10
lea ecx, [esi + 0x184]
call fcn.0040e88c
mov edi, dword [0x4111dc]
mov dword [esi + 0x16c], ebx
mov dword [esi + 0x170], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
mov edx, dword [0x4176fc]
push 0x3ea
push edx
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c443
xor eax, eax
jmp 0x40c446
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x188]
push ebx
push eax
push ecx
call fcn.0040e394
mov eax, dword [eax + 0x94]
mov ecx, dword [eax]
call fcn.00408d90
mov ecx, dword [0x4176fc]
push 0x3eb
push ecx
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c47d
xor ecx, ecx
jmp 0x40c480
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x188]
push ebx
push ecx
push eax
call fcn.0040e394
mov edx, dword [eax + 0x94]
mov ecx, dword [edx]
call fcn.00408d90
mov eax, dword [0x4176fc]
push 0x3ec
push eax
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c4b6
xor eax, eax
jmp 0x40c4b9
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x188]
push ebx
push eax
push ecx
call fcn.0040e394
mov ecx, dword [eax + 0x94]
mov ecx, dword [ecx]
call fcn.00408d90
mov edx, dword [0x4176fc]
push 0x3ed
push edx
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c4f0
xor eax, eax
jmp 0x40c4f3
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x188]
push ebx
push eax
push ecx
call fcn.0040e394
mov eax, dword [eax + 0x94]
mov ecx, dword [eax]
call fcn.00408d90
mov ecx, dword [0x4176fc]
push 0x3e9
push ecx
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c52a
xor ecx, ecx
jmp 0x40c52d
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x188]
push ebx
push ecx
push eax
call fcn.0040e394
mov edx, dword [eax + 0x94]
mov ecx, dword [edx]
call fcn.00408d90
mov eax, dword [0x4176fc]
push 0x3e8
push eax
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c563
xor eax, eax
jmp 0x40c566
mov eax, dword [eax + 4]
mov ecx, dword [esi + 0x188]
push ebx
push eax
push ecx
call fcn.0040e394
mov ecx, dword [eax + 0x94]
mov ecx, dword [ecx]
call fcn.00408d90
mov edx, dword [0x4176fc]
push 0x3ee
push edx
call edi
push eax
call fcn.0040e7b4
cmp eax, ebx
jne 0x40c59d
xor ecx, ecx
jmp 0x40c5a0
mov ecx, dword [eax + 4]
mov eax, dword [esi + 0x188]
push ebx
push ecx
push eax
call fcn.0040e394
mov eax, dword [eax + 0x94]
mov ecx, dword [eax]
call fcn.00408d90
push 0x3e8
push 1
mov ecx, esi
call fcn.0040a0a0
push 0x3ee
push 2
mov ecx, esi
call fcn.0040a0a0
push 0x3ee
push 4
mov ecx, esi
call fcn.0040a0a0
mov eax, dword [esi + 0x17c]
cmp eax, ebx
je 0x40c5f6
push eax
call dword [0x4111e4]
mov eax, dword [esi + 0x188]
push ebx
push 6
push eax
call fcn.0040e394
mov ecx, dword [eax + 0x94]
mov ecx, dword [ecx]
call fcn.00408f00
mov dword [esi + 0x17c], eax
cmp eax, ebx
jne 0x40c663
push str.ExtractIcon_Error
lea ecx, [ebp - 0x28c]
call dword [0x4115c0]
mov byte [ebp - 4], 0x1c
call fcn.0040e394
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xb8]
lea edx, [ebp - 0x28c]
push edx
call fcn.00405970
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov edi, dword [0x411214]
jmp 0x40c6bc
mov edi, dword [0x411214]
push ebx
push eax
mov eax, dword [esi + 0x310]
push 0x170
push eax
call edi
test eax, eax
jne 0x40c6bc
push str.Update_Exec_SetIcon_Error
lea ecx, [ebp - 0x288]
call dword [0x4115c0]
mov byte [ebp - 4], 0x1d
call fcn.0040e394
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [eax + 0xb8]
call fcn.00405970
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov eax, dword [esi + 0x180]
cmp eax, ebx
je 0x40c6cd
push eax
call dword [0x4111e4]
mov eax, dword [esi + 0x188]
push ebx
push 6
push eax
call fcn.0040e394
mov edx, dword [eax + 0x94]
mov ecx, dword [edx]
call fcn.00408f00
mov dword [esi + 0x180], eax
cmp eax, ebx
jne 0x40c72a
push str.ExtractIcon_Error
lea ecx, [ebp - 0x288]
call dword [0x4115c0]
mov byte [ebp - 4], 0x28
call fcn.0040e394
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [eax + 0xb8]
call fcn.00405970
lea ecx, [ebp - 0x288]
jmp 0x40c773
mov edx, dword [esi + 0x384]
push ebx
push eax
push 0x170
push edx
call edi
test eax, eax
jne 0x40c77d
push str.Update_Exec_SetIcon_Error
lea ecx, [ebp - 0x28c]
call dword [0x4115c0]
mov byte [ebp - 4], 0x29
call fcn.0040e394
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x28c]
push ecx
mov ecx, dword [eax + 0xb8]
call fcn.00405970
lea ecx, [ebp - 0x28c]
mov byte [ebp - 4], 9
call dword [0x4115d4]
mov edx, dword [esi + 0x20]
push ebx
push ebx
push 0x31
push edx
mov dword [esi + 0x94], ebx
mov dword [esi + 0x98], ebx
mov byte [esi + 0xac], bl
call edi
push eax
call fcn.0040e7b4
mov edx, dword [eax + 4]
lea ecx, [ebp - 0x284]
push ecx
push 0x5c
push edx
call dword [0x411020]
lea ecx, [esi + 0x15c]
mov dword [ebp - 0x274], 0x2bc
call fcn.0040e7a2
lea eax, [ebp - 0x284]
push eax
call dword [0x41101c]
push eax
lea ecx, [esi + 0x15c]
call fcn.0040e7ae
lea ecx, [esi + 0x154]
mov dword [ebp - 0x274], 0x190
call fcn.0040e7a2
lea ecx, [ebp - 0x284]
push ecx
call dword [0x41101c]
push eax
lea ecx, [esi + 0x154]
call fcn.0040e7ae
push 0xffffff
call dword [0x411018]
push eax
lea ecx, [esi + 0x144]
call fcn.0040e7ae
push 8
mov dword [esi + 0x14c], ebx
mov dword [esi + 0x150], 0x808080
mov byte [esi + 0xad], bl
call fcn.0040e39a
add esp, 4
mov dword [ebp - 0x288], eax
mov byte [ebp - 4], 0x2a
cmp eax, ebx
je 0x40c85c
mov ecx, eax
call fcn.0040d390
jmp 0x40c85e
xor eax, eax
lea edx, [ebp - 0x29c]
push edx
mov ecx, eax
mov byte [ebp - 4], 9
mov dword [esi + 0x164], eax
call fcn.0040d7a0
lea ecx, [ebp - 0x29c]
mov byte [ebp - 4], 0x2b
call dword [0x4115b8]
push eax
call dword [0x4111d4]
test eax, eax
je 0x40c95b
push ecx
lea eax, [ebp - 0x29c]
mov ecx, esp
mov dword [ebp - 0x288], esp
push eax
call dword [0x411544]
mov ecx, dword [esi + 0x164]
call fcn.0040dae0
cmp al, bl
je 0x40c95b
push str._exitall
lea ecx, [ebp - 0x288]
call dword [0x4115c0]
push ebx
push ebx
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [esi + 0x164]
lea edx, [ebp - 0x29c]
push edx
mov byte [ebp - 4], 0x2c
call fcn.0040dd30
test eax, eax
lea ecx, [ebp - 0x288]
sete byte [ebp - 0x28d]
mov byte [ebp - 4], 0x2b
call dword [0x4115d4]
cmp byte [ebp - 0x28d], bl
je 0x40c95b
push str.Volume_Watcher_Stop
lea ecx, [ebp - 0x288]
call dword [0x4115c0]
mov byte [ebp - 4], 0x2d
call fcn.0040e394
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x288]
push ecx
mov ecx, dword [eax + 0xb8]
call fcn.00405970
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x2b
call dword [0x4115d4]
mov ecx, dword [esi + 0x164]
push 1
call fcn.0040d760
lea edi, [esi + 0xb8]
mov dword [esi + 0xa0], ebx
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp - 0x288], edx
cmp edx, ecx
je 0x40c9a2
mov eax, ecx
sub eax, ecx
sar eax, 2
add eax, eax
add eax, eax
push eax
push ecx
push edx
mov dword [ebp - 0x28c], eax
call dword [0x411194]
mov edx, dword [ebp - 0x288]
add esp, 0xc
add edx, dword [ebp - 0x28c]
mov dword [edi + 4], edx
mov ecx, dword [esi + 0xc8]
push ebx
push edi
push ebx
call fcn.00406ef0
movzx eax, ax
push eax
mov ecx, esi
call fcn.0040b230
cmp byte [esi + 0xae], 1
jne 0x40cbfa
push 0x405
mov ecx, esi
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x21c], ebx
call fcn.0040e784
mov edx, dword [eax + 0x20]
mov edi, dword [0x411208]
lea ecx, [ebp - 0x228]
push ecx
push edx
call edi
push 0x405
mov ecx, esi
call fcn.0040e784
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x228]
push ecx
push edx
call dword [0x4111f0]
push eax
call fcn.0040e7cc
mov ecx, eax
call fcn.0040e886
push 0x406
mov ecx, esi
call fcn.0040e784
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x21c]
sub edx, ecx
push 1
push edx
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
push edx
push ecx
mov ecx, dword [ebp - 0x228]
push ecx
mov ecx, eax
call fcn.0040e7c6
push 0x40c
mov ecx, esi
call fcn.0040e784
mov eax, dword [eax + 0x20]
lea edx, [ebp - 0x228]
push edx
push eax
call edi
push 0x40c
mov ecx, esi
call fcn.0040e784
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x228]
push ecx
push edx
call dword [0x4111f0]
push eax
call fcn.0040e7cc
mov ecx, eax
call fcn.0040e886
push 0x40e
mov ecx, esi
call fcn.0040e784
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x21c]
sub edx, ecx
push 1
push edx
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
push edx
push ecx
mov ecx, dword [ebp - 0x228]
push ecx
mov ecx, eax
call fcn.0040e7c6
push 0x404
mov ecx, esi
call fcn.0040e784
lea edx, [ebp - 0x228]
mov eax, dword [eax + 0x20]
push edx
push eax
call edi
push 0x404
mov ecx, esi
call fcn.0040e784
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x228]
push ecx
push edx
call dword [0x4111f0]
push eax
call fcn.0040e7cc
mov ecx, eax
call fcn.0040e886
push 0x405
mov ecx, esi
call fcn.0040e784
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x21c]
sub edx, ecx
push 1
push edx
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x228]
push edx
push ecx
mov ecx, dword [ebp - 0x228]
push ecx
mov ecx, eax
call fcn.0040e7c6
push 0x40b
mov ecx, esi
call fcn.0040e784
mov eax, dword [eax + 0x20]
lea edx, [ebp - 0x228]
push edx
push eax
call edi
push 0x40b
mov ecx, esi
call fcn.0040e784
mov edx, dword [eax + 0x20]
lea ecx, [ebp - 0x228]
push ecx
push edx
call dword [0x4111f0]
push eax
call fcn.0040e7cc
mov ecx, eax
call fcn.0040e886
push 0x40c
mov ecx, esi
call fcn.0040e784
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x21c]
mov edi, dword [ebp - 0x220]
push 1
sub edx, ecx
push edx
mov edx, dword [ebp - 0x228]
sub edi, edx
push edi
push ecx
push edx
mov ecx, eax
call fcn.0040e7c6
push ebx
push 0x404
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e868
push ebx
push 0x40b
mov ecx, esi
call fcn.0040e784
mov ecx, eax
call fcn.0040e868
lea ecx, [ebp - 0x29c]
call dword [0x4115d4]
lea ecx, [ebp - 0x2a0]
call dword [0x4115d4]
lea ecx, [ebp - 0x298]
call dword [0x4115d4]
lea ecx, [ebp - 0x294]
call dword [0x4115d4]
mov eax, 1
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.0040eb84
mov esp, ebp
pop ebp
ret