Function at 0x40355d
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d2bdf
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
push ebx
push esi
push edi
mov eax, dword [0x4ff0f4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 4], edi
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
push edi
push edi
push eax
call fcn.00426d40
test al, al
jne 0x403f6c
push 0xdd
lea ecx, [ebp - 0x30]
call fcn.00440490
mov byte [ebp - 4], 1
mov ebx, 1
mov dword [ebp - 0x18], ebx
mov ecx, esi
call fcn.004487a0
test al, al
jne 0x40319f
push 0xde
lea ecx, [ebp - 0x50]
call fcn.00440490
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], 3
mov ecx, esi
call fcn.004487a0
mov ebx, dword [ebp - 0x18]
test al, al
mov byte [ebp - 0x19], 1
je 0x4031a3
mov byte [ebp - 0x19], 0
mov dword [ebp - 4], 1
test bl, 2
je 0x4031bd
and ebx, 0xfffffffd
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x50]
call fcn.00405410
mov dword [ebp - 4], edi
test bl, 1
je 0x4031d3
and ebx, 0xfffffffe
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x30]
call fcn.00405410
cmp byte [ebp - 0x19], 0
je 0x403f6c
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push esi
call fcn.004058a0
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0
call fcn.00425e20
add esp, 4
test al, al
jne 0x403f6c
mov eax, dword [esi]
call fcn.00447d90
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 4
cmp eax, 0xffffffff
je 0x403f58
push eax
call fcn.00449430
test al, al
jne 0x403f58
push esi
lea ecx, [ebp - 0x28]
call fcn.004058a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.00405a60
push 0x17
lea ecx, [ebp - 0x34]
call fcn.00440490
mov byte [ebp - 4], 6
or ebx, 4
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x18
lea ecx, [ebp - 0x3c]
call fcn.00440490
mov dword [ebp - 4], 7
or ebx, 8
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x19
lea ecx, [ebp - 0x44]
call fcn.00440490
mov dword [ebp - 4], 8
or ebx, 0x10
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1a
lea ecx, [ebp - 0x40]
call fcn.00440490
mov dword [ebp - 4], 9
or ebx, 0x20
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1b
lea ecx, [ebp - 0x48]
call fcn.00440490
mov dword [ebp - 4], 0xa
or ebx, 0x40
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1c
lea ecx, [ebp - 0x4c]
call fcn.00440490
mov dword [ebp - 4], 0xb
or ebx, 0x80
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1d
lea ecx, [ebp - 0x24]
call fcn.00440490
mov dword [ebp - 4], 0xc
or ebx, 0x100
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1e
lea ecx, [ebp - 0x2c]
call fcn.00440490
mov dword [ebp - 4], 0xd
or ebx, 0x200
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
jne 0x4033cb
push 0x1f
lea ecx, [ebp - 0x38]
call fcn.00440490
mov dword [ebp - 4], 0xe
or ebx, 0x400
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x28]
call fcn.00405a20
cmp eax, 0xffffffff
mov byte [ebp - 0x19], 0
je 0x4033cf
mov byte [ebp - 0x19], 1
mov dword [ebp - 4], 0xd
test ebx, 0x400
je 0x4033ef
and ebx, 0xfffffbff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x38]
call fcn.00405410
mov dword [ebp - 4], 0xc
test ebx, 0x200
je 0x40340f
and ebx, 0xfffffdff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x2c]
call fcn.00405410
mov dword [ebp - 4], 0xb
test ebx, 0x100
je 0x40342f
and ebx, 0xfffffeff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x24]
call fcn.00405410
mov dword [ebp - 4], 0xa
test bl, bl
jns 0x40344b
and ebx, 0xffffff7f
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x4c]
call fcn.00405410
mov dword [ebp - 4], 9
test bl, 0x40
je 0x403465
and ebx, 0xffffffbf
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x48]
call fcn.00405410
mov dword [ebp - 4], 8
test bl, 0x20
je 0x40347f
and ebx, 0xffffffdf
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x40]
call fcn.00405410
mov dword [ebp - 4], 7
test bl, 0x10
je 0x403499
and ebx, 0xffffffef
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x44]
call fcn.00405410
mov dword [ebp - 4], 6
test bl, 8
je 0x4034b3
and ebx, 0xfffffff7
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x3c]
call fcn.00405410
mov dword [ebp - 4], 5
test bl, 4
je 0x4034cd
and ebx, 0xfffffffb
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x34]
call fcn.00405410
cmp byte [ebp - 0x19], 0
jne 0x403f4c
lea ecx, [ebp - 0x2c]
call fcn.00405840
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0x10
mov byte [ebp - 0x6c], 0
mov dword [ebp - 0x84], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], edi
lea edi, [ebp - 0x84]
mov ebx, dword [ebp - 0x30]
lea esi, [ebp - 0x64]
call fcn.004482a0
cmp byte [ebp - 0x58], 0
je 0x403556
cmp byte [ebp - 0x6c], 0
je 0x403556
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x70]
cmp ecx, edx
jb 0x403536
ja 0x40352e
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x74]
jbe 0x403536
mov eax, dword [ebp - 0x84]
jmp 0x40353b
mov eax, dword [ebp - 0x74]
mov ecx, edx
lea edx, [ebp - 0x2c]
push edx
push ecx
push eax
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0043d660
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2c]
mov edi, 1
cmp dword [ecx - 0xc], edi
je 0x403f40
lea ecx, [ebp - 0x24]
call fcn.00405840
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x38]
call fcn.00405840
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
xor eax, eax
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x19], cl
mov byte [ebp + 0x1b], cl
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0xc]
cmp dword [edx - 0xc], ecx
jne 0x4035d2
mov eax, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea ecx, [ebp + 0x1b]
push ecx
lea edx, [ebp - 0x19]
push edx
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x5c]
push edx
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x30]
call fcn.0041efc0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x2c]
cmp dword [edx - 0xc], 0
je 0x40361b
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
lea eax, [ebp - 0x38]
push eax
call fcn.00405300
mov byte [ebp - 4], 0x14
push esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
call fcn.00403fa0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x403f28
add dword [eax + 0x64], edi
jmp 0x403f28
mov edi, dword [ebp + 0x10]
cmp byte [ebp + 0x1b], 0
jne 0x4037a3
test edi, edi
je 0x4037a3
cmp byte [ebp - 0x19], 0
je 0x4037a3
mov edx, dword [esi]
cmp dword [edx - 0xc], 0
je 0x4037a3
mov edx, ecx
or edx, eax
je 0x4037a3
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x4037a3
test eax, eax
ja 0x4037a3
jb 0x403673
cmp ecx, 0x3200000
jae 0x4037a3
push 0xad
lea ecx, [ebp - 0x30]
call fcn.00440490
mov byte [ebp - 4], 0x15
mov esi, dword [ebp - 0x18]
or esi, 0x800
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00448560
mov dword [ebp - 4], 0x16
or esi, 0x1000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x24]
push ecx
call fcn.00405810
add esp, 0xc
test al, al
je 0x4037a6
push 0xae
lea ecx, [ebp - 0x48]
call fcn.00440490
mov dword [ebp - 4], 0x17
or esi, 0x2000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x40]
push edx
call fcn.00448560
mov dword [ebp - 4], 0x18
or esi, 0x4000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x24]
push ecx
call fcn.00405810
add esp, 0xc
test al, al
je 0x4037a6
push 0xb0
lea ecx, [ebp - 0x44]
call fcn.00440490
mov dword [ebp - 4], 0x19
or esi, 0x8000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x3c]
push edx
call fcn.00448560
mov dword [ebp - 4], 0x1a
or esi, 0x10000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x24]
push ecx
call fcn.00405810
add esp, 0xc
test al, al
je 0x4037a6
push 0xdf
lea ecx, [ebp - 0x34]
call fcn.00440490
mov dword [ebp - 4], 0x1b
or esi, 0x20000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp + 8]
push edx
call fcn.00448560
mov dword [ebp - 4], 0x1c
or esi, 0x40000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x24]
push ecx
call fcn.00405810
add esp, 0xc
test al, al
je 0x4037a6
mov bl, 1
jmp 0x4037a8
mov esi, dword [ebp - 0x18]
xor bl, bl
mov dword [ebp - 4], 0x1b
test esi, 0x40000
je 0x4037c8
and esi, 0xfffbffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp + 8]
call fcn.00405410
mov dword [ebp - 4], 0x1a
test esi, 0x20000
je 0x4037e8
and esi, 0xfffdffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x34]
call fcn.00405410
mov dword [ebp - 4], 0x19
test esi, 0x10000
je 0x403808
and esi, 0xfffeffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x3c]
call fcn.00405410
mov dword [ebp - 4], 0x18
test esi, 0x8000
je 0x403828
and esi, 0xffff7fff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x44]
call fcn.00405410
mov dword [ebp - 4], 0x17
test esi, 0x4000
je 0x403848
and esi, 0xffffbfff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x40]
call fcn.00405410
mov dword [ebp - 4], 0x16
test esi, 0x2000
je 0x403868
and esi, 0xffffdfff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x48]
call fcn.00405410
mov dword [ebp - 4], 0x15
test esi, 0x1000
je 0x403888
and esi, 0xffffefff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x4c]
call fcn.00405410
mov dword [ebp - 4], 0x13
test esi, 0x800
je 0x4038a8
and esi, 0xfffff7ff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x30]
call fcn.00405410
test bl, bl
je 0x403f21
push 0x4eac8c
lea ecx, [ebp + 8]
call fcn.00405900
mov byte [ebp - 4], 0x1d
push 0xe0
lea ecx, [ebp - 0x34]
call fcn.00440490
mov byte [ebp - 4], 0x1e
lea edx, [ebp + 8]
push edx
push 0x4eac90
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00448ed0
add esp, 0x10
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x34]
call fcn.00405410
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 8]
call fcn.00405410
xor edi, edi
mov dword [ebp - 0x90], edi
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x70]
sar ecx, 2
cmp edi, ecx
jae 0x403987
mov edx, dword [ebp - 0x24]
cmp dword [edx - 0xc], 0
je 0x403957
push edi
lea ecx, [ebp - 0x7c]
call fcn.00406920
mov eax, dword [eax]
push eax
lea eax, [ebp + 8]
push eax
call fcn.00448560
mov byte [ebp - 4], 0x22
or esi, 0x80000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x24]
push ecx
call fcn.004057e0
add esp, 0xc
test al, al
je 0x403957
mov bl, 1
jmp 0x403959
xor bl, bl
mov dword [ebp - 4], 0x21
test esi, 0x80000
je 0x403979
and esi, 0xfff7ffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp + 8]
call fcn.00405410
test bl, bl
jne 0x403f13
inc edi
jmp 0x403902
xor al, al
jne 0x403f13
cmp byte [ebp + 0x14], al
je 0x403c8c
push 0x20
lea ecx, [ebp - 0x58]
call fcn.00440490
mov byte [ebp - 4], 0x23
or esi, 0x100000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x21
lea ecx, [ebp - 0x9c]
call fcn.00440490
mov dword [ebp - 4], 0x24
or esi, 0x200000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x22
lea ecx, [ebp - 0x94]
call fcn.00440490
mov dword [ebp - 4], 0x25
or esi, 0x400000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x23
lea ecx, [ebp - 0x8c]
call fcn.00440490
mov dword [ebp - 4], 0x26
or esi, 0x800000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x24
lea ecx, [ebp - 0xa8]
call fcn.00440490
mov dword [ebp - 4], 0x27
or esi, 0x1000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x25
lea ecx, [ebp - 0x98]
call fcn.00440490
mov dword [ebp - 4], 0x28
or esi, 0x2000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x26
lea ecx, [ebp - 0xa0]
call fcn.00440490
mov dword [ebp - 4], 0x29
or esi, 0x4000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x27
lea ecx, [ebp - 0x88]
call fcn.00440490
mov dword [ebp - 4], 0x2a
or esi, 0x8000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x28
lea ecx, [ebp - 0xac]
call fcn.00440490
mov dword [ebp - 4], 0x2b
or esi, 0x10000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x29
lea ecx, [ebp - 0xa4]
call fcn.00440490
mov dword [ebp - 4], 0x2c
or esi, 0x20000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2a
lea ecx, [ebp - 0x30]
call fcn.00440490
mov dword [ebp - 4], 0x2d
or esi, 0x40000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2b
lea ecx, [ebp - 0x4c]
call fcn.00440490
mov dword [ebp - 4], 0x2e
or esi, 0x80000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2c
lea ecx, [ebp - 0x48]
call fcn.00440490
mov dword [ebp - 4], 0x2f
or dword [ebp - 0x20], 1
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2d
lea ecx, [ebp - 0x40]
call fcn.00440490
mov dword [ebp - 4], 0x30
or dword [ebp - 0x20], 2
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.00440490
mov dword [ebp - 4], 0x31
or dword [ebp - 0x20], 4
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x2f
lea ecx, [ebp - 0x3c]
call fcn.00440490
mov dword [ebp - 4], 0x32
or dword [ebp - 0x20], 8
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x30
lea ecx, [ebp - 0x34]
call fcn.00440490
mov dword [ebp - 4], 0x33
or dword [ebp - 0x20], 0x10
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x31
lea ecx, [ebp + 8]
call fcn.00440490
mov dword [ebp - 4], 0x34
or dword [ebp - 0x20], 0x20
mov edx, ebx
call fcn.004487e0
test al, al
jne 0x403c88
push 0x32
lea ecx, [ebp + 0x14]
call fcn.00440490
mov dword [ebp - 4], 0x35
or dword [ebp - 0x20], 0x40
mov edx, ebx
call fcn.004487e0
test al, al
je 0x403c8c
xor bl, bl
jmp 0x403c8e
mov bl, 1
mov dword [ebp - 4], 0x34
test byte [ebp - 0x20], 0x40
je 0x403ca7
and dword [ebp - 0x20], 0xffffffbf
lea ecx, [ebp + 0x14]
call fcn.00405410
mov dword [ebp - 4], 0x33
test byte [ebp - 0x20], 0x20
je 0x403cc0
and dword [ebp - 0x20], 0xffffffdf
lea ecx, [ebp + 8]
call fcn.00405410
mov dword [ebp - 4], 0x32
test byte [ebp - 0x20], 0x10
je 0x403cd9
and dword [ebp - 0x20], 0xffffffef
lea ecx, [ebp - 0x34]
call fcn.00405410
mov dword [ebp - 4], 0x31
test byte [ebp - 0x20], 8
je 0x403cf2
and dword [ebp - 0x20], 0xfffffff7
lea ecx, [ebp - 0x3c]
call fcn.00405410
mov dword [ebp - 4], 0x30
test byte [ebp - 0x20], 4
je 0x403d0b
and dword [ebp - 0x20], 0xfffffffb
lea ecx, [ebp - 0x44]
call fcn.00405410
mov dword [ebp - 4], 0x2f
test byte [ebp - 0x20], 2
je 0x403d24
and dword [ebp - 0x20], 0xfffffffd
lea ecx, [ebp - 0x40]
call fcn.00405410
mov dword [ebp - 4], 0x2e
test byte [ebp - 0x20], 1
je 0x403d3d
and dword [ebp - 0x20], 0xfffffffe
lea ecx, [ebp - 0x48]
call fcn.00405410
mov dword [ebp - 4], 0x2d
test esi, esi
jns 0x403d59
and esi, 0x7fffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x4c]
call fcn.00405410
mov dword [ebp - 4], 0x2c
test esi, 0x40000000
je 0x403d79
and esi, 0xbfffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x30]
call fcn.00405410
mov dword [ebp - 4], 0x2b
test esi, 0x20000000
je 0x403d9c
and esi, 0xdfffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa4]
call fcn.00405410
mov dword [ebp - 4], 0x2a
test esi, 0x10000000
je 0x403dbf
and esi, 0xefffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xac]
call fcn.00405410
mov dword [ebp - 4], 0x29
test esi, 0x8000000
je 0x403de2
and esi, 0xf7ffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x88]
call fcn.00405410
mov dword [ebp - 4], 0x28
test esi, 0x4000000
je 0x403e05
and esi, 0xfbffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa0]
call fcn.00405410
mov dword [ebp - 4], 0x27
test esi, 0x2000000
je 0x403e28
and esi, 0xfdffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x98]
call fcn.00405410
mov dword [ebp - 4], 0x26
test esi, 0x1000000
je 0x403e4b
and esi, 0xfeffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa8]
call fcn.00405410
mov dword [ebp - 4], 0x25
test esi, 0x800000
je 0x403e6e
and esi, 0xff7fffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x8c]
call fcn.00405410
mov dword [ebp - 4], 0x24
test esi, 0x400000
je 0x403e91
and esi, 0xffbfffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x94]
call fcn.00405410
mov dword [ebp - 4], 0x23
test esi, 0x200000
je 0x403eb4
and esi, 0xffdfffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x9c]
call fcn.00405410
mov dword [ebp - 4], 0x21
test esi, 0x100000
je 0x403ed4
and esi, 0xffefffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x58]
call fcn.00405410
test bl, bl
je 0x403f13
cmp byte [ebp + 0x1b], 0
mov eax, 0x4e3f2f
jne 0x403ee6
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp + 0x14]
call fcn.00405360
mov byte [ebp - 4], 0x36
lea edx, [ebp + 0x14]
push edx
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov esi, dword [ebp + 0x10]
call fcn.004018f0
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x14]
call fcn.00405410
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x7c]
call fcn.004067a0
jmp 0x403f28
test edi, edi
je 0x403f28
inc dword [edi + 0x68]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x38]
call fcn.00405410
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x24]
call fcn.00405410
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00405410
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x28]
call fcn.00405410
mov byte [ebp - 4], 0
cmp dword [ebp - 0x50], 0xffffffff
je 0x403f6c
mov edx, dword [ebp - 0x50]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14