Function at 0x423ba0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e87d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd0
push ebx
push esi
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 0x10], ebx
lea ecx, [ebp - 0x90]
push ebx
mov dword [ebp - 0x2c], ebx
call fcn.00480d60
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.00480d60
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.00423250
mov ecx, esi
test al, al
jne 0x423c26
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.00423250
test al, al
jne 0x423c1b
xor bl, bl
jmp 0x425124
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x423c4c
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.00423250
test al, al
lea ecx, [ebp - 0xdc]
lea edx, [ebp - 0x90]
cmove ecx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x78], 0
push edi
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 3
push eax
call fcn.0040f6e0
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x423cbe
cmp edi, 0x10
mov dword [ebp - 0x50], 7
push 7
lea esi, [ebp - 0x60]
cmovae esi, dword [ebp - 0x60]
push str.default
push esi
call fcn.004649f0
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x423d56
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x423cd4
mov ecx, SysReAllocString
jmp 0x423ce1
lea eax, [ecx + edi]
mov ecx, 0xf
cmp eax, ecx
cmova ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x94], ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.00407710
mov dword [ebp - 0x50], 7
mov esi, eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x4c], eax
mov eax, dword [str.default]
mov dword [esi], eax
mov ax, word [0x4ad0ec]
mov word [esi + 4], ax
mov al, byte [0x4ad0ee]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x423d53
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x423d49
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425199
push edi
push ecx
call fcn.00429ebb
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x423f14
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x423daa
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x423dd5
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test bl, 2
je 0x423df3
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test bl, 1
je 0x423e39
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x423e39
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x423e2f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42514e
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x423f17
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x423e89
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 4
jmp 0x423eae
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test bl, 8
je 0x423ecc
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test bl, 4
je 0x423f17
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x423f17
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x423f08
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425153
push edx
push ecx
call fcn.00429ebb
add esp, 8
jmp 0x423f17
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x4240d1
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x423f69
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x423f92
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test bl, 0x20
je 0x423fb0
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test bl, 0x10
je 0x423ff6
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x423ff6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x423fec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425158
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4240d1
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424043
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x40
jmp 0x42406b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test bl, bl
jns 0x42408b
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test bl, 0x40
je 0x4240d1
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4240d1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4240c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42515d
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4242aa
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424126
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x100
jmp 0x424152
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x200
je 0x424176
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x4241c2
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4241c2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4241b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425162
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4242aa
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424212
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x400
jmp 0x42423a
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x800
je 0x42425e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x4242aa
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4242aa
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4242a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425167
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4244b3
push str.addr
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x42430b
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x1000
jmp 0x424343
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x2000
je 0x424367
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x4243b3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4243b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4243a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42516c
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4244b3
push str.addr
push 0x4ad17c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x42440f
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
or ebx, 0x4000
jmp 0x424443
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x4ad17c
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x8000
je 0x424467
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x4244b3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4244b3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4244a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425171
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x424690
push str.icon
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424523
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a956d
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.004078d0
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x42455b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x20000
je 0x42457f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x4245cb
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4245cb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4245c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425176
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x424690
push str.icon
push 0x4ad17c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424618
push 0x4a956d
lea ecx, [ebp - 0x44]
call fcn.00421c40
or ebx, 0x40000
jmp 0x42464c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x4ad17c
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x80000
je 0x424670
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x424690
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x42486d
push 0x4ad190
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424700
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a956d
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.004078d0
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x424738
lea eax, [ebp - 0x28]
push eax
push 0x4ad190
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x200000
je 0x42475c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x4247a8
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4247a8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42479e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42517b
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x42486d
push 0x4ad190
push 0x4ad17c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x4247f5
push 0x4a956d
lea ecx, [ebp - 0x44]
call fcn.00421c40
or ebx, 0x400000
jmp 0x424829
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4ad190
push 0x4ad17c
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x800000
je 0x42484d
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x42486d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x424a4a
push 0x4ad198
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x4248dd
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a956d
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.004078d0
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x424915
lea eax, [ebp - 0x28]
push eax
push 0x4ad198
push 0x4ad17c
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x2000000
je 0x424939
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x424985
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x424985
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42497b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425180
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x424a4a
push 0x4ad198
push 0x4ad17c
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x4249d2
push 0x4a956d
lea ecx, [ebp - 0x44]
call fcn.00421c40
or ebx, 0x4000000
jmp 0x424a06
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x4ad198
push 0x4ad17c
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x8000000
je 0x424a2a
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x424a4a
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x424be4
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424aae
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x4a956d
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.004078d0
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x424ada
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.00404a00
test ebx, 0x20000000
je 0x424afe
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x424b4a
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x424b4a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424b40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425185
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x424be4
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424b8b
push 0x4a956d
lea ecx, [ebp - 0x44]
call fcn.00421c40
or ebx, 0x40000000
jmp 0x424bb3
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.004826f0
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.00404a00
test ebx, ebx
jns 0x424bcd
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.00404350
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x424be4
lea ecx, [ebp - 0x44]
call fcn.00404350
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x424df2
push 5
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push str.store
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.004078d0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004813b0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424c72
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4a956d
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004078d0
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x424c9f
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004813b0
mov ecx, eax
call fcn.004826f0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00404a00
test bl, 2
je 0x424cc0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00404350
mov dword [ebp - 4], 0x14
test bl, 1
je 0x424d06
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x424d06
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424cfc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42518a
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x424dab
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004813b0
mov ecx, eax
call fcn.00483300
test al, al
je 0x424d43
push 0x4a956d
lea ecx, [ebp - 0x28]
call fcn.00421c40
or ebx, 4
jmp 0x424d6a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004813b0
mov ecx, eax
call fcn.004826f0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.00404a00
test bl, 8
je 0x424d8b
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00404350
mov dword [ebp - 4], 0x14
test bl, 4
je 0x424da5
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.00404350
cmp dword [esi + 0x10], 0
je 0x424db8
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0042e710
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x424df5
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x424de6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42518f
push edx
push ecx
call fcn.00429ebb
add esp, 8
jmp 0x424df5
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x425095
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0xf
mov byte [ebp - 0xac], 0
push str.showlist
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
jne 0x424e97
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483c50
test eax, eax
jle 0x424e97
cmp dword [ebp - 0x64], 0x10
lea eax, [ebp - 0x78]
push dword [ebp - 0x68]
cmovae eax, dword [ebp - 0x78]
lea ecx, [ebp - 0xac]
push eax
call fcn.004078d0
lea edi, [ebp - 0x90]
jmp 0x424eb9
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x424eb3
push dword [ebp - 0x60]
call fcn.004078d0
jmp 0x424ebc
push eax
call fcn.004078d0
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x42505b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483300
test al, al
jne 0x42505b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00483c50
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x42505b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00481440
mov ecx, eax
call fcn.00483300
test al, al
je 0x424f7e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x4a956d
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004078d0
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x424fb2
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.004813b0
mov ecx, eax
call fcn.004816e0
mov ecx, eax
call fcn.00481440
mov ecx, eax
call fcn.004826f0
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.0041dd00
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x424fdb
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.00404350
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x42501e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x42501e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425014
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42514e
push edx
push ecx
call fcn.00429ebb
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x425045
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x42503d
mov ecx, eax
call fcn.004040e0
add dword [esi + 4], 0x18
jmp 0x425045
push eax
mov ecx, esi
call fcn.0040b480
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.00404350
inc edi
cmp edi, dword [ebp + 8]
jl 0x424f20
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x425095
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x42508b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425194
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x4250cc
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4250c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425199
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x425112
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x425108
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x425199
push edx
push ecx
call fcn.00429ebb
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.004811d0
lea ecx, [ebp - 0x90]
call fcn.004811d0
mov ecx, dword [ebp - 0xc]
mov al, bl
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x28
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
call fcn.004679af
int3