Function at 0x4030cd
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d347c
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.00426cf0
test al, al
jne 0x403acc
push 0xdd
lea ecx, [ebp - 0x34]
call fcn.004407c0
mov byte [ebp - 4], 1
mov ebx, 1
mov dword [ebp - 0x18], ebx
mov ecx, esi
call fcn.00448c20
test al, al
jne 0x402d0f
push 0xde
lea ecx, [ebp - 0x50]
call fcn.004407c0
mov dword [ebp - 4], 2
mov dword [ebp - 0x18], 3
mov ecx, esi
call fcn.00448c20
mov ebx, dword [ebp - 0x18]
test al, al
mov byte [ebp - 0x19], 1
je 0x402d13
mov byte [ebp - 0x19], 0
mov dword [ebp - 4], 1
test bl, 2
je 0x402d2d
and ebx, 0xfffffffd
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x50]
call fcn.00404f30
mov dword [ebp - 4], edi
test bl, 1
je 0x402d43
and ebx, 0xfffffffe
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x34]
call fcn.00404f30
cmp byte [ebp - 0x19], 0
je 0x403acc
push ecx
mov ecx, esp
mov dword [ebp - 0x58], esp
push esi
call fcn.00405420
mov byte [ebp - 4], 3
mov byte [ebp - 4], 0
call fcn.00425dd0
add esp, 4
test al, al
jne 0x403acc
mov eax, dword [esi]
call fcn.00448210
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 4
cmp eax, 0xffffffff
je 0x403ab8
push eax
call fcn.004498a0
test al, al
jne 0x403ab8
push esi
lea ecx, [ebp - 0x24]
call fcn.00405420
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.004055e0
push 0x17
lea ecx, [ebp - 0x4c]
call fcn.004407c0
mov byte [ebp - 4], 6
or ebx, 4
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x18
lea ecx, [ebp - 0x44]
call fcn.004407c0
mov dword [ebp - 4], 7
or ebx, 8
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x19
lea ecx, [ebp - 0x38]
call fcn.004407c0
mov dword [ebp - 4], 8
or ebx, 0x10
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1a
lea ecx, [ebp - 0x3c]
call fcn.004407c0
mov dword [ebp - 4], 9
or ebx, 0x20
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1b
lea ecx, [ebp - 0x48]
call fcn.004407c0
mov dword [ebp - 4], 0xa
or ebx, 0x40
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1c
lea ecx, [ebp - 0x40]
call fcn.004407c0
mov dword [ebp - 4], 0xb
or ebx, 0x80
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1d
lea ecx, [ebp - 0x28]
call fcn.004407c0
mov dword [ebp - 4], 0xc
or ebx, 0x100
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1e
lea ecx, [ebp - 0x2c]
call fcn.004407c0
mov dword [ebp - 4], 0xd
or ebx, 0x200
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
jne 0x402f3b
push 0x1f
lea ecx, [ebp - 0x30]
call fcn.004407c0
mov dword [ebp - 4], 0xe
or ebx, 0x400
mov dword [ebp - 0x18], ebx
mov eax, dword [eax]
push edi
push eax
lea ecx, [ebp - 0x24]
call fcn.004055a0
cmp eax, 0xffffffff
mov byte [ebp - 0x19], 0
je 0x402f3f
mov byte [ebp - 0x19], 1
mov dword [ebp - 4], 0xd
test ebx, 0x400
je 0x402f5f
and ebx, 0xfffffbff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x30]
call fcn.00404f30
mov dword [ebp - 4], 0xc
test ebx, 0x200
je 0x402f7f
and ebx, 0xfffffdff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x2c]
call fcn.00404f30
mov dword [ebp - 4], 0xb
test ebx, 0x100
je 0x402f9f
and ebx, 0xfffffeff
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x28]
call fcn.00404f30
mov dword [ebp - 4], 0xa
test bl, bl
jns 0x402fbb
and ebx, 0xffffff7f
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x40]
call fcn.00404f30
mov dword [ebp - 4], 9
test bl, 0x40
je 0x402fd5
and ebx, 0xffffffbf
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x48]
call fcn.00404f30
mov dword [ebp - 4], 8
test bl, 0x20
je 0x402fef
and ebx, 0xffffffdf
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x3c]
call fcn.00404f30
mov dword [ebp - 4], 7
test bl, 0x10
je 0x403009
and ebx, 0xffffffef
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x38]
call fcn.00404f30
mov dword [ebp - 4], 6
test bl, 8
je 0x403023
and ebx, 0xfffffff7
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x44]
call fcn.00404f30
mov dword [ebp - 4], 5
test bl, 4
je 0x40303d
and ebx, 0xfffffffb
mov dword [ebp - 0x18], ebx
lea ecx, [ebp - 0x4c]
call fcn.00404f30
cmp byte [ebp - 0x19], 0
jne 0x403aac
lea ecx, [ebp - 0x2c]
call fcn.00404dc0
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 - 0x34]
lea esi, [ebp - 0x64]
call fcn.00448720
cmp byte [ebp - 0x58], 0
je 0x4030c6
cmp byte [ebp - 0x6c], 0
je 0x4030c6
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x70]
cmp ecx, edx
jb 0x4030a6
ja 0x40309e
mov eax, dword [ebp - 0x84]
cmp eax, dword [ebp - 0x74]
jbe 0x4030a6
mov eax, dword [ebp - 0x84]
jmp 0x4030ab
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.0043d880
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2c]
mov edi, 1
cmp dword [ecx - 0xc], edi
je 0x403aa0
lea ecx, [ebp - 0x28]
call fcn.00404dc0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x30]
call fcn.00404dc0
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
xor eax, eax
mov dword [ebp - 0x58], eax
mov byte [ebp + 0x1b], cl
mov byte [ebp - 0x19], cl
mov edx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0xc]
cmp dword [edx - 0xc], ecx
jne 0x403142
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea ecx, [ebp - 0x19]
push ecx
lea edx, [ebp + 0x1b]
push edx
lea ecx, [ebp - 0x28]
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 - 0x34]
call fcn.0041ec70
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x2c]
cmp dword [edx - 0xc], 0
je 0x40318b
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
lea eax, [ebp - 0x30]
push eax
call fcn.00404e20
mov byte [ebp - 4], 0x14
push esi
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x2c]
call fcn.00403b00
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x403a88
add dword [eax + 0x64], edi
jmp 0x403a88
mov edi, dword [ebp + 0x10]
test edi, edi
je 0x403309
cmp byte [ebp + 0x1b], 0
je 0x403309
mov edx, dword [esi]
cmp dword [edx - 0xc], 0
je 0x403309
mov edx, ecx
or edx, eax
je 0x403309
mov edx, ecx
and edx, eax
cmp edx, 0xffffffff
je 0x403309
test eax, eax
ja 0x403309
jb 0x4031d9
cmp ecx, 0x3200000
jae 0x403309
push 0xad
lea ecx, [ebp - 0x40]
call fcn.004407c0
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 - 0x48]
push eax
call fcn.004489e0
mov dword [ebp - 4], 0x16
or esi, 0x1000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x28]
push ecx
call fcn.00405330
add esp, 0xc
test al, al
je 0x40330c
push 0xae
lea ecx, [ebp - 0x3c]
call fcn.004407c0
mov dword [ebp - 4], 0x17
or esi, 0x2000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x38]
push edx
call fcn.004489e0
mov dword [ebp - 4], 0x18
or esi, 0x4000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x28]
push ecx
call fcn.00405330
add esp, 0xc
test al, al
je 0x40330c
push 0xb0
lea ecx, [ebp - 0x44]
call fcn.004407c0
mov dword [ebp - 4], 0x19
or esi, 0x8000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp - 0x4c]
push edx
call fcn.004489e0
mov dword [ebp - 4], 0x1a
or esi, 0x10000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x28]
push ecx
call fcn.00405330
add esp, 0xc
test al, al
je 0x40330c
push 0xdf
lea ecx, [ebp + 8]
call fcn.004407c0
mov dword [ebp - 4], 0x1b
or esi, 0x20000
mov dword [ebp - 0x18], esi
mov eax, dword [eax]
push eax
lea edx, [ebp + 0x18]
push edx
call fcn.004489e0
mov dword [ebp - 4], 0x1c
or esi, 0x40000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x28]
push ecx
call fcn.00405330
add esp, 0xc
test al, al
je 0x40330c
mov bl, 1
jmp 0x40330e
mov esi, dword [ebp - 0x18]
xor bl, bl
mov dword [ebp - 4], 0x1b
test esi, 0x40000
je 0x40332e
and esi, 0xfffbffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp + 0x18]
call fcn.00404f30
mov dword [ebp - 4], 0x1a
test esi, 0x20000
je 0x40334e
and esi, 0xfffdffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp + 8]
call fcn.00404f30
mov dword [ebp - 4], 0x19
test esi, 0x10000
je 0x40336e
and esi, 0xfffeffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x4c]
call fcn.00404f30
mov dword [ebp - 4], 0x18
test esi, 0x8000
je 0x40338e
and esi, 0xffff7fff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x44]
call fcn.00404f30
mov dword [ebp - 4], 0x17
test esi, 0x4000
je 0x4033ae
and esi, 0xffffbfff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x38]
call fcn.00404f30
mov dword [ebp - 4], 0x16
test esi, 0x2000
je 0x4033ce
and esi, 0xffffdfff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x3c]
call fcn.00404f30
mov dword [ebp - 4], 0x15
test esi, 0x1000
je 0x4033ee
and esi, 0xffffefff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x48]
call fcn.00404f30
mov dword [ebp - 4], 0x13
test esi, 0x800
je 0x40340e
and esi, 0xfffff7ff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x40]
call fcn.00404f30
test bl, bl
je 0x403a81
push 0x4eac58
lea ecx, [ebp + 0x18]
call fcn.00405480
mov byte [ebp - 4], 0x1d
push 0xe0
lea ecx, [ebp + 8]
call fcn.004407c0
mov byte [ebp - 4], 0x1e
lea edx, [ebp + 0x18]
push edx
push 0x4eac5c
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00449350
add esp, 0x10
mov byte [ebp - 4], 0x20
lea ecx, [ebp + 8]
call fcn.00404f30
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x18]
call fcn.00404f30
xor edi, edi
mov dword [ebp - 0xa8], edi
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x70]
sar ecx, 2
cmp edi, ecx
jae 0x4034ed
mov edx, dword [ebp - 0x28]
cmp dword [edx - 0xc], 0
je 0x4034bd
push edi
lea ecx, [ebp - 0x7c]
call fcn.00406250
mov eax, dword [eax]
push eax
lea eax, [ebp + 0x18]
push eax
call fcn.004489e0
mov byte [ebp - 4], 0x22
or esi, 0x80000
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x28]
push ecx
call fcn.00405300
add esp, 0xc
test al, al
je 0x4034bd
mov bl, 1
jmp 0x4034bf
xor bl, bl
mov dword [ebp - 4], 0x21
test esi, 0x80000
je 0x4034df
and esi, 0xfff7ffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp + 0x18]
call fcn.00404f30
test bl, bl
jne 0x403a73
inc edi
jmp 0x403468
xor al, al
jne 0x403a73
cmp byte [ebp + 0x14], al
je 0x4037ef
push 0x20
lea ecx, [ebp - 0x58]
call fcn.004407c0
mov byte [ebp - 4], 0x23
or esi, 0x100000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x21
lea ecx, [ebp - 0x98]
call fcn.004407c0
mov dword [ebp - 4], 0x24
or esi, 0x200000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x22
lea ecx, [ebp - 0x90]
call fcn.004407c0
mov dword [ebp - 4], 0x25
or esi, 0x400000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x23
lea ecx, [ebp - 0x8c]
call fcn.004407c0
mov dword [ebp - 4], 0x26
or esi, 0x800000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x24
lea ecx, [ebp - 0xa4]
call fcn.004407c0
mov dword [ebp - 4], 0x27
or esi, 0x1000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x25
lea ecx, [ebp - 0x94]
call fcn.004407c0
mov dword [ebp - 4], 0x28
or esi, 0x2000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x26
lea ecx, [ebp - 0x9c]
call fcn.004407c0
mov dword [ebp - 4], 0x29
or esi, 0x4000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x27
lea ecx, [ebp - 0x88]
call fcn.004407c0
mov dword [ebp - 4], 0x2a
or esi, 0x8000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x28
lea ecx, [ebp - 0xa0]
call fcn.004407c0
mov dword [ebp - 4], 0x2b
or esi, 0x10000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x29
lea ecx, [ebp - 0x34]
call fcn.004407c0
mov dword [ebp - 4], 0x2c
or esi, 0x20000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2a
lea ecx, [ebp - 0x40]
call fcn.004407c0
mov dword [ebp - 4], 0x2d
or esi, 0x40000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2b
lea ecx, [ebp - 0x48]
call fcn.004407c0
mov dword [ebp - 4], 0x2e
or esi, 0x80000000
mov dword [ebp - 0x18], esi
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2c
lea ecx, [ebp - 0x3c]
call fcn.004407c0
mov dword [ebp - 4], 0x2f
or dword [ebp - 0x20], 1
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2d
lea ecx, [ebp - 0x38]
call fcn.004407c0
mov dword [ebp - 4], 0x30
or dword [ebp - 0x20], 2
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.004407c0
mov dword [ebp - 4], 0x31
or dword [ebp - 0x20], 4
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x2f
lea ecx, [ebp - 0x4c]
call fcn.004407c0
mov dword [ebp - 4], 0x32
or dword [ebp - 0x20], 8
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x30
lea ecx, [ebp + 8]
call fcn.004407c0
mov dword [ebp - 4], 0x33
or dword [ebp - 0x20], 0x10
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x31
lea ecx, [ebp + 0x18]
call fcn.004407c0
mov dword [ebp - 4], 0x34
or dword [ebp - 0x20], 0x20
mov edx, ebx
call fcn.00448c60
test al, al
jne 0x4037eb
push 0x32
lea ecx, [ebp + 0x14]
call fcn.004407c0
mov dword [ebp - 4], 0x35
or dword [ebp - 0x20], 0x40
mov edx, ebx
call fcn.00448c60
test al, al
je 0x4037ef
xor bl, bl
jmp 0x4037f1
mov bl, 1
mov dword [ebp - 4], 0x34
test byte [ebp - 0x20], 0x40
je 0x40380a
and dword [ebp - 0x20], 0xffffffbf
lea ecx, [ebp + 0x14]
call fcn.00404f30
mov dword [ebp - 4], 0x33
test byte [ebp - 0x20], 0x20
je 0x403823
and dword [ebp - 0x20], 0xffffffdf
lea ecx, [ebp + 0x18]
call fcn.00404f30
mov dword [ebp - 4], 0x32
test byte [ebp - 0x20], 0x10
je 0x40383c
and dword [ebp - 0x20], 0xffffffef
lea ecx, [ebp + 8]
call fcn.00404f30
mov dword [ebp - 4], 0x31
test byte [ebp - 0x20], 8
je 0x403855
and dword [ebp - 0x20], 0xfffffff7
lea ecx, [ebp - 0x4c]
call fcn.00404f30
mov dword [ebp - 4], 0x30
test byte [ebp - 0x20], 4
je 0x40386e
and dword [ebp - 0x20], 0xfffffffb
lea ecx, [ebp - 0x44]
call fcn.00404f30
mov dword [ebp - 4], 0x2f
test byte [ebp - 0x20], 2
je 0x403887
and dword [ebp - 0x20], 0xfffffffd
lea ecx, [ebp - 0x38]
call fcn.00404f30
mov dword [ebp - 4], 0x2e
test byte [ebp - 0x20], 1
je 0x4038a0
and dword [ebp - 0x20], 0xfffffffe
lea ecx, [ebp - 0x3c]
call fcn.00404f30
mov dword [ebp - 4], 0x2d
test esi, esi
jns 0x4038bc
and esi, 0x7fffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x48]
call fcn.00404f30
mov dword [ebp - 4], 0x2c
test esi, 0x40000000
je 0x4038dc
and esi, 0xbfffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x40]
call fcn.00404f30
mov dword [ebp - 4], 0x2b
test esi, 0x20000000
je 0x4038fc
and esi, 0xdfffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x34]
call fcn.00404f30
mov dword [ebp - 4], 0x2a
test esi, 0x10000000
je 0x40391f
and esi, 0xefffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa0]
call fcn.00404f30
mov dword [ebp - 4], 0x29
test esi, 0x8000000
je 0x403942
and esi, 0xf7ffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x88]
call fcn.00404f30
mov dword [ebp - 4], 0x28
test esi, 0x4000000
je 0x403965
and esi, 0xfbffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x9c]
call fcn.00404f30
mov dword [ebp - 4], 0x27
test esi, 0x2000000
je 0x403988
and esi, 0xfdffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x94]
call fcn.00404f30
mov dword [ebp - 4], 0x26
test esi, 0x1000000
je 0x4039ab
and esi, 0xfeffffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xa4]
call fcn.00404f30
mov dword [ebp - 4], 0x25
test esi, 0x800000
je 0x4039ce
and esi, 0xff7fffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x8c]
call fcn.00404f30
mov dword [ebp - 4], 0x24
test esi, 0x400000
je 0x4039f1
and esi, 0xffbfffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x90]
call fcn.00404f30
mov dword [ebp - 4], 0x23
test esi, 0x200000
je 0x403a14
and esi, 0xffdfffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x98]
call fcn.00404f30
mov dword [ebp - 4], 0x21
test esi, 0x100000
je 0x403a34
and esi, 0xffefffff
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0x58]
call fcn.00404f30
test bl, bl
je 0x403a73
cmp byte [ebp - 0x19], 0
mov eax, 0x4e3f2f
jne 0x403a46
mov eax, dword [ebp - 0x28]
push eax
lea ecx, [ebp + 0x14]
call fcn.00404e80
mov byte [ebp - 4], 0x36
lea edx, [ebp + 0x14]
push edx
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov esi, dword [ebp + 0x10]
call fcn.004018d0
mov byte [ebp - 4], 0x21
lea ecx, [ebp + 0x14]
call fcn.00404f30
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x7c]
call fcn.004060d0
jmp 0x403a88
test edi, edi
je 0x403a88
inc dword [edi + 0x68]
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x30]
call fcn.00404f30
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.00404f30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00404f30
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24]
call fcn.00404f30
mov byte [ebp - 4], 0
cmp dword [ebp - 0x50], 0xffffffff
je 0x403acc
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