Function at 0x4145c0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46bd4d
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.004566c0
push ebx
lea ecx, [ebp - 0xdc]
mov dword [ebp - 4], ebx
call fcn.004566c0
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 1
push eax
push 1
push ebx
push ebx
mov ecx, esi
call fcn.004143d0
mov ecx, esi
test al, al
jne 0x414646
lea eax, [ebp - 0x90]
push eax
push ebx
push ebx
push ebx
call fcn.004143d0
test al, al
jne 0x41463b
xor bl, bl
jmp 0x415b44
lea eax, [ebp - 0x90]
mov dword [ebp - 0x48], eax
jmp 0x41466c
lea eax, [ebp - 0xdc]
push eax
push 0
push 0
push 0
call fcn.004143d0
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.00407c60
mov edi, dword [ebp - 0x4c]
cmp edi, 7
jb 0x4146de
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.0043a790
add esp, 0xc
mov byte [esi + 7], 0
jmp 0x414776
mov ecx, edi
mov eax, SysReAllocString
shr ecx, 1
sub eax, ecx
cmp edi, eax
jbe 0x4146f4
mov ecx, SysReAllocString
jmp 0x414701
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.00403e20
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 [0x477938]
mov word [esi + 4], ax
mov al, byte [0x47793a]
mov byte [esi + 6], al
mov byte [esi + 7], 0
cmp edi, 0x10
jb 0x414773
mov ecx, dword [ebp - 0x60]
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x414769
mov ecx, dword [ecx - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415bb9
push edi
push ecx
call fcn.00419c67
add esp, 8
mov dword [ebp - 0x60], esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x414934
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4147ca
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 0x4147f5
lea eax, [ebp - 0x44]
push eax
push str.navaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test bl, 2
je 0x414813
and ebx, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test bl, 1
je 0x414859
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414859
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41484f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b6e
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 0x48]
jne 0x414937
push str.navaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4148a9
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 0x4148ce
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.navaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test bl, 8
je 0x4148ec
and ebx, 0xfffffff7
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test bl, 4
je 0x414937
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffb
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414937
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414928
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b73
push edx
push ecx
call fcn.00419c67
add esp, 8
jmp 0x414937
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x414af1
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414989
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 0x4149b2
lea eax, [ebp - 0x44]
push eax
push str.homaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x20
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test bl, 0x20
je 0x4149d0
and ebx, 0xffffffdf
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test bl, 0x10
je 0x414a16
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414a16
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414a0c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b78
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x414af1
push str.homaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414a63
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 0x414a8b
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.homaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x80
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test bl, bl
jns 0x414aab
and ebx, 0xffffff7f
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test bl, 0x40
je 0x414af1
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffbf
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414af1
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414ae7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b7d
push edx
push ecx
call fcn.00419c67
add esp, 8
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x414cca
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414b46
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 0x414b72
lea eax, [ebp - 0x44]
push eax
push str.ntpaddr
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x200
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x200
je 0x414b96
and ebx, 0xfffffdff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x100
je 0x414be2
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffeff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414be2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414bd8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b82
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x414cca
push str.ntpaddr
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414c32
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 0x414c5a
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.ntpaddr
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x800
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x800
je 0x414c7e
and ebx, 0xfffff7ff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x400
je 0x414cca
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffbff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414cca
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414cc0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b87
push edx
push ecx
call fcn.00419c67
add esp, 8
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x414ed3
push str.addr
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414d2b
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 0x414d63
lea eax, [ebp - 0x44]
push eax
push str.addr
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x2000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x2000
je 0x414d87
and ebx, 0xffffdfff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x1000
je 0x414dd3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffefff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414dd3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414dc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b8c
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x414ed3
push str.addr
push 0x477954
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414e2f
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 0x414e63
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
push str.addr
push 0x477954
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x8000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x8000
je 0x414e87
and ebx, 0xffff7fff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x4000
je 0x414ed3
mov edx, dword [ebp - 0x14]
and ebx, 0xffffbfff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414ed3
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414ec9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b91
push edx
push ecx
call fcn.00419c67
add esp, 8
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x4150b0
push str.icon
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x414f43
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x474185
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00408e70
lea eax, [ebp - 0x44]
or ebx, 0x10000
jmp 0x414f7b
lea eax, [ebp - 0x28]
push eax
push str.icon
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x20000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x20000
je 0x414f9f
and ebx, 0xfffdffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x10000
je 0x414feb
mov edx, dword [ebp - 0x30]
and ebx, 0xfffeffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x414feb
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414fe1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b96
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4150b0
push str.icon
push 0x477954
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x415038
push 0x474185
lea ecx, [ebp - 0x44]
call fcn.00414180
or ebx, 0x40000
jmp 0x41506c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.icon
push 0x477954
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x80000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x80000
je 0x415090
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x40000
je 0x4150b0
and ebx, 0xfffbffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov esi, dword [ebp + 0x1c]
test esi, esi
je 0x41528d
push 0x477968
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x415120
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x474185
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00408e70
lea eax, [ebp - 0x44]
or ebx, 0x100000
jmp 0x415158
lea eax, [ebp - 0x28]
push eax
push 0x477968
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x200000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x200000
je 0x41517c
and ebx, 0xffdfffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x100000
je 0x4151c8
mov edx, dword [ebp - 0x30]
and ebx, 0xffefffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4151c8
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4151be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b9b
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41528d
push 0x477968
push 0x477954
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x415215
push 0x474185
lea ecx, [ebp - 0x44]
call fcn.00414180
or ebx, 0x400000
jmp 0x415249
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x477968
push 0x477954
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x800000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x800000
je 0x41526d
and ebx, 0xff7fffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x400000
je 0x41528d
and ebx, 0xffbfffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x41546a
push 0x477970
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4152fd
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x474185
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00408e70
lea eax, [ebp - 0x44]
or ebx, 0x1000000
jmp 0x415335
lea eax, [ebp - 0x28]
push eax
push 0x477970
push 0x477954
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x2000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x2000000
je 0x415359
and ebx, 0xfdffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x1000000
je 0x4153a5
mov edx, dword [ebp - 0x30]
and ebx, 0xfeffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x4153a5
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41539b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ba0
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x41546a
push 0x477970
push 0x477954
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4153f2
push 0x474185
lea ecx, [ebp - 0x44]
call fcn.00414180
or ebx, 0x4000000
jmp 0x415426
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push 0x477970
push 0x477954
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x8000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x8000000
je 0x41544a
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x4000000
je 0x41546a
and ebx, 0xfbffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x415604
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4154ce
push 0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x44]
push 0x474185
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
call fcn.00408e70
lea eax, [ebp - 0x44]
or ebx, 0x10000000
jmp 0x4154fa
lea eax, [ebp - 0x28]
push eax
push str.post
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x20000000
push eax
mov ecx, esi
mov dword [ebp - 0x10], ebx
call fcn.004141c0
test ebx, 0x20000000
je 0x41551e
and ebx, 0xdfffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x10], ebx
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x10000000
je 0x41556a
mov edx, dword [ebp - 0x30]
and ebx, 0xefffffff
mov dword [ebp - 0x10], ebx
cmp edx, 0x10
jb 0x41556a
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415560
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415ba5
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x415604
push str.post
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
je 0x4155ab
push 0x474185
lea ecx, [ebp - 0x44]
call fcn.00414180
or ebx, 0x40000000
jmp 0x4155d3
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
push str.post
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004575f0
or ebx, 0x80000000
push eax
mov ecx, esi
call fcn.004141c0
test ebx, ebx
jns 0x4155ed
lea ecx, [ebp - 0x28]
and ebx, 0x7fffffff
call fcn.004036d0
mov dword [ebp - 4], 3
test ebx, 0x40000000
je 0x415604
lea ecx, [ebp - 0x44]
call fcn.004036d0
mov esi, dword [ebp + 0x28]
test esi, esi
je 0x415812
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.00408e70
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457d00
test al, al
je 0x415692
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x474185
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00408e70
lea eax, [ebp - 0x28]
mov ebx, 1
jmp 0x4156bf
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00456cd0
mov ecx, eax
call fcn.004575f0
mov ebx, 2
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.004141c0
test bl, 2
je 0x4156e0
and ebx, 0xfffffffd
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004036d0
mov dword [ebp - 4], 0x14
test bl, 1
je 0x415726
mov edx, dword [ebp - 0x14]
and ebx, 0xfffffffe
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x415726
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41571c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415baa
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [esi + 0x10], 0
jne 0x4157cb
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457d00
test al, al
je 0x415763
push 0x474185
lea ecx, [ebp - 0x28]
call fcn.00414180
or ebx, 4
jmp 0x41578a
lea eax, [ebp - 0xc4]
mov ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00456cd0
mov ecx, eax
call fcn.004575f0
or ebx, 8
push eax
mov ecx, esi
mov dword [ebp - 0x2c], ebx
call fcn.004141c0
test bl, 8
je 0x4157ab
and ebx, 0xfffffff7
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004036d0
mov dword [ebp - 4], 0x14
test bl, 4
je 0x4157c5
and ebx, 0xfffffffb
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], ebx
call fcn.004036d0
cmp dword [esi + 0x10], 0
je 0x4157d8
lea eax, [ebp - 0x78]
push eax
push esi
call fcn.0041dca0
add esp, 8
mov edx, dword [ebp - 0x30]
mov byte [ebp - 4], 3
cmp edx, 0x10
jb 0x415815
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415806
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415baf
push edx
push ecx
call fcn.00419c67
add esp, 8
jmp 0x415815
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp + 0x2c]
test esi, esi
je 0x415ab5
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.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
jne 0x4158b7
push str.showlist
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x90]
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004581f0
test eax, eax
jle 0x4158b7
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.00408e70
lea edi, [ebp - 0x90]
jmp 0x4158d9
cmp dword [ebp - 0x4c], 0x10
lea eax, [ebp - 0x60]
push dword [ebp - 0x50]
lea ecx, [ebp - 0xac]
jb 0x4158d3
push dword [ebp - 0x60]
call fcn.00408e70
jmp 0x4158dc
push eax
call fcn.00408e70
mov dword [ebp - 0x48], edi
cmp dword [ebp - 0x9c], 0
je 0x415a7b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00457d00
test al, al
jne 0x415a7b
push str.showlist
lea eax, [ebp - 0xac]
mov ecx, edi
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.004581f0
xor edi, edi
mov dword [ebp + 8], eax
test eax, eax
jle 0x415a7b
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xac]
push edi
push str.showlist
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00456d60
mov ecx, eax
call fcn.00457d00
test al, al
je 0x41599e
push 0
mov dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
push 0x474185
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.00408e70
lea eax, [ebp - 0x28]
or ebx, 0x10
jmp 0x4159d2
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0xc4]
push eax
push edi
push str.showlist
lea eax, [ebp - 0xac]
push eax
call fcn.00456cd0
mov ecx, eax
call fcn.00457000
mov ecx, eax
call fcn.00456d60
mov ecx, eax
call fcn.004575f0
or ebx, 0x20
push eax
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x2c], ebx
call fcn.004108a0
mov dword [ebp - 4], 0x19
test bl, 0x20
je 0x4159fb
and ebx, 0xffffffdf
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x2c], ebx
call fcn.004036d0
mov byte [ebp - 4], 0x1a
test bl, 0x10
je 0x415a3e
mov edx, dword [ebp - 0x14]
and ebx, 0xffffffef
mov dword [ebp - 0x2c], ebx
cmp edx, 0x10
jb 0x415a3e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415a34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415b6e
push edx
push ecx
call fcn.00419c67
add esp, 8
cmp dword [ebp - 0x34], 0
je 0x415a65
mov eax, dword [esi + 4]
lea ecx, [ebp - 0x44]
push ecx
cmp eax, dword [esi + 8]
je 0x415a5d
mov ecx, eax
call fcn.00404b20
add dword [esi + 4], 0x18
jmp 0x415a65
push eax
mov ecx, esi
call fcn.00404890
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.004036d0
inc edi
cmp edi, dword [ebp + 8]
jl 0x415940
mov edx, dword [ebp - 0x98]
cmp edx, 0x10
jb 0x415ab5
mov ecx, dword [ebp - 0xac]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415aab
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415bb4
push edx
push ecx
call fcn.00419c67
add esp, 8
mov edx, dword [ebp - 0x4c]
mov bl, 1
pop edi
cmp edx, 0x10
jb 0x415aec
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415ae2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415bb9
push edx
push ecx
call fcn.00419c67
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 0x415b32
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415b28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415bb9
push edx
push ecx
call fcn.00419c67
add esp, 8
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea ecx, [ebp - 0xdc]
call fcn.00456af0
lea ecx, [ebp - 0x90]
call fcn.00456af0
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.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
call fcn.0043d73f
int3