Function at 0x4173e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49c846
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x9b8
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x27616c]
push esi
xor esi, esi
cmp eax, esi
push edi
mov dword [esp + 0xc], ebx
jne 0x418c33
mov eax, dword [ebx + 0x22ff04]
cmp eax, 1
jne 0x41742b
push esi
call fcn.00414620
cmp dword [ebx + 0x22ff08], 1
jne 0x41744b
mov eax, dword [0x4b824c]
mov dword [ebx + 0x22ff08], esi
mov eax, dword [eax + 0xb18]
mov dword [eax + 0x664], esi
mov eax, dword [0x4b824c]
mov dword [ebx + 0x22ff80], esi
mov eax, dword [eax + 0xb18]
push str.option.dat
mov ecx, ebx
mov dword [eax + 0x668], esi
call fcn.00412130
mov ecx, dword [0x4b824c]
push 0x104
lea eax, [esp + 0x4ec]
push eax
call fcn.00402f50
lea edi, [esp + 0x4e8]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x417490
mov ecx, dword [str.save_]
mov dx, word [0x49f1a0]
mov eax, dword [ebp + 8]
mov dword [edi], ecx
mov word [edi + 4], dx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4174b0
lea edi, [esp + 0x4e8]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4174c1
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x4e8]
and ecx, 3
push 0x49e380
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.0047a6fa
mov esi, eax
add esp, 8
test esi, esi
je 0x418c33
lea ecx, [esp + 0x358]
call fcn.00463d40
push 0x18
push 1
push 0x60
push 0x80
lea ecx, [esp + 0x368]
mov dword [esp + 0x9dc], 0
call fcn.00462c00
mov ecx, dword [esp + 0x388]
push esi
push 0x9000
push 1
push ecx
call fcn.0047acf1
add esp, 0x10
lea ecx, [esp + 0x5f0]
call fcn.004590d0
lea ecx, [esp + 0x5f0]
mov byte [esp + 0x9cc], 1
call fcn.00458ff0
push 0x800
push 0x60
push 0x80
lea ecx, [esp + 0x5fc]
call fcn.00454fc0
lea edx, [esp + 0x358]
push edx
lea ecx, [esp + 0x5f4]
call fcn.0044ae00
lea ecx, [esp + 0x5f0]
call fcn.00458ff0
lea ecx, [esp + 0x358]
call fcn.00460240
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
push esi
mov dword [esp + 0xac], eax
push 0x24
mov dword [esp + 0xb4], eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0xb8], eax
push 1
push ecx
mov dword [esp + 0xc4], eax
call fcn.0047acf1
push esi
push 0x190
lea edx, [esp + 0x848]
xor eax, eax
push 1
mov ecx, 0x64
lea edi, [esp + 0x84c]
push edx
rep stosd dword es:[edi], eax
call fcn.0047acf1
mov eax, dword [0x4b824c]
mov dword [esp + 0x44], eax
mov eax, dword [eax + 0xb0c]
mov dword [esp + 0x3c], eax
xor eax, eax
xor edx, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], edx
lea ecx, [ebx + 0x53ec]
mov dword [esp + 0x78], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x7c], edx
push esi
mov ecx, 0x10
lea edi, [esp + 0x10c]
push 0x20
rep stosd dword es:[edi], eax
lea eax, [esp + 0x6c]
push 1
push eax
mov dword [esp + 0x90], edx
call fcn.0047acf1
push esi
push 0x40
lea ecx, [esp + 0x120]
push 1
push ecx
call fcn.0047acf1
add esp, 0x40
push esi
push 4
lea edx, [esp + 0x48]
push 1
push edx
call fcn.0047acf1
push esi
push 4
lea eax, [esp + 0x4c]
push 1
push eax
call fcn.0047acf1
push esi
push 4
lea ecx, [esp + 0x60]
push 1
push ecx
call fcn.0047acf1
push esi
push 4
lea edx, [esp + 0x74]
push 1
push edx
call fcn.0047acf1
add esp, 0x40
push 0
mov ecx, ebx
call fcn.004167d0
lea eax, [esp + 0x44]
push eax
mov ecx, ebx
call fcn.00412fd0
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
push esi
push 0xe14
mov dword [ebx + 0x6fe4], ecx
lea ecx, [edi + 0x30]
push 1
push ecx
mov dword [ebx + 0x73e8], edx
mov dword [ebx + 0x73ec], eax
call fcn.0047acf1
push esi
push 0x364
lea eax, [edi + 0xe44]
push 1
push eax
mov dword [esp + 0x48], eax
call fcn.0047acf1
lea eax, [esp + 0x108]
mov edx, eax
add esp, 0x20
sub edi, edx
lea ecx, [edi + 0x1bb4]
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x417753
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0xc]
push esi
push 0x59c
mov dword [edi + 0x6fe0], eax
lea eax, [edi + 0x6594]
push 1
push eax
call fcn.0047acf1
push esi
push 0x13c
lea ebx, [edi + 0x6b30]
push 1
push ebx
call fcn.0047acf1
lea edx, [edi + 0x3d0]
xor eax, eax
mov ecx, 0xc
mov edi, edx
rep stosd dword es:[edi], eax
or eax, 0xffffffff
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
xor ecx, ecx
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], ecx
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 4]
mov dword [edx + 4], ecx
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 0xd0]
mov ecx, dword [ebx + 0x6c]
mov dword [edx + 8], ecx
mov dword [edx + 0x14], eax
mov eax, dword [ebx + 0x138]
mov ecx, dword [ebx + 0xd4]
mov dword [edx + 0xc], ecx
mov dword [edx + 0x18], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x2c]
add esp, 0x20
cmp eax, 1
jne 0x417821
mov eax, 0x14
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], eax
mov eax, 1
mov dword [edx], 0xffffffff
mov dword [edx + 0x20], 0
mov dword [edx + 0x1c], eax
mov edx, ebx
mov dword [edx + 0x6b30], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
lea eax, [ebx + 0x6594]
lea edx, [esp + 0x74]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x417860
lea ecx, [esp + 0x74]
push ecx
mov ecx, ebx
call fcn.00414280
xor edi, edi
mov dword [esp + 0x18], edi
lea esp, [esp]
test edi, edi
jl 0x417895
cmp edi, 0x578
jge 0x417895
lea eax, [ebx + edi + 0x65b4]
jmp 0x417897
xor eax, eax
mov edx, dword [eax + 0x24]
mov ecx, dword [eax + 0x20]
push edx
mov edx, dword [esp + 0x1c]
push ecx
push eax
push edx
mov ecx, ebx
call fcn.00414070
mov edx, dword [esp + 0x18]
inc edx
add edi, 0x8c
cmp edi, 0x578
mov dword [esp + 0x18], edx
jl 0x417880
push esi
push 4
lea eax, [ebx + 0x73f0]
add eax, 0x4e0
push 1
push eax
call fcn.0047acf1
add esp, 0x10
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x18]
cmp edi, 0xffffffff
mov eax, edi
jne 0x4178fe
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov eax, dword [eax + 0x4e0]
test eax, eax
jl 0x417920
cmp eax, 3
jge 0x417920
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x532c
add ecx, 0x73f0
lea eax, [eax + ecx + 0x4e4]
jmp 0x417922
xor eax, eax
push esi
push 0x532c
push 1
push eax
lea ebx, [eax + 0x52dc]
call fcn.0047acf1
mov edx, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x1c]
add esp, 0x10
cmp edi, 0xffffffff
mov eax, edi
jne 0x41794d
mov eax, dword [ecx + 0x78d0]
cmp eax, 0xffffffff
jne 0x417958
mov eax, dword [ecx + 0x78d0]
test eax, eax
jl 0x417976
cmp eax, 3
jge 0x417976
imul eax, eax, 0x532c
add ecx, 0x73f0
lea eax, [eax + ecx + 0x4e4]
jmp 0x417978
xor eax, eax
mov ecx, dword [esp + 0xc]
push edi
mov dword [eax + 0x5328], edx
call fcn.00412dd0
cmp edi, 0xffffffff
mov eax, edi
jne 0x41799e
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov eax, dword [eax + 0x4e0]
test eax, eax
jl 0x4179be
cmp eax, 3
jge 0x4179be
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x478
lea edx, [eax + ecx + 0x2bb4]
mov dword [esp + 0x14], edx
jmp 0x4179c6
mov dword [esp + 0x14], 0
mov eax, ebx
lea edx, [eax + 1]
jmp 0x4179d0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4179d0
sub eax, edx
mov dword [esp + 0x10], eax
je 0x4179f9
mov ecx, dword [esp + 0x14]
call fcn.00458ff0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
push 0
push eax
push ebx
call fcn.004056a0
cmp edi, 0xffffffff
mov ecx, dword [esp + 0xc]
mov eax, edi
jne 0x417a0a
mov eax, dword [ecx + 0x78d0]
xor edx, edx
cmp eax, edx
jl 0x417a2d
cmp eax, 3
jge 0x417a2d
imul eax, eax, 0x478
lea eax, [eax + ecx + 0x2bb4]
add eax, 0x23c
mov dword [esp + 0x10], eax
jmp 0x417a31
mov dword [esp + 0x10], edx
cmp edi, 0xffffffff
mov eax, edi
jne 0x417a44
lea eax, [ecx + 0x73f0]
mov eax, dword [eax + 0x4e0]
cmp eax, edx
jl 0x417a6a
cmp eax, 3
jge 0x417a6a
mov ecx, dword [esp + 0xc]
imul eax, eax, 0x532c
add ecx, 0x73f0
lea ecx, [eax + ecx + 0x4e4]
mov dword [esp + 0x14], ecx
jmp 0x417a6e
mov dword [esp + 0x14], edx
mov eax, dword [0x4b824c]
mov edi, dword [eax + 0xb0c]
xor edx, edx
mov dl, byte [ebx + 0x2a]
xor eax, eax
mov al, byte [ebx + 0x29]
xor ecx, ecx
mov cl, byte [ebx + 0x28]
push edx
push eax
push ecx
mov ecx, edi
call fcn.00425120
mov edx, dword [ebx + 0x30]
push edx
mov ecx, edi
call fcn.004250f0
mov eax, dword [ebx + 0x48]
push eax
mov ecx, edi
call fcn.004250b0
push 0x49f180
mov ecx, edi
call fcn.00425e10
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebx + 0x40]
push ecx
push edx
mov ecx, edi
call fcn.00425100
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x78d0]
mov ecx, dword [0x4b824c]
add edx, 0x73f0
cmp eax, 0xffffffff
jne 0x417ade
test eax, eax
jl 0x417af6
cmp eax, 3
jge 0x417af6
imul eax, eax, 0x532c
lea edi, [eax + edx + 0x4e4]
jmp 0x417af8
xor edi, edi
mov edx, dword [edx + 0x4e0]
test edx, edx
mov eax, dword [ecx + 0xb0c]
mov dword [esp + 0x20], eax
jl 0x417b24
cmp edx, 3
jge 0x417b24
mov ecx, dword [esp + 0xc]
imul edx, edx, 0x478
lea edx, [edx + ecx + 0x2bb4]
jmp 0x417b26
xor edx, edx
mov ecx, dword [edx + 0x228]
test ecx, ecx
jne 0x417b35
mov eax, dword [edx + 0x78]
jmp 0x417b3b
mov eax, dword [edx + 0x1c0]
mov ebx, dword [edi + 0x531c]
shl ebx, 1
sub eax, ebx
test ecx, ecx
mov ebx, eax
jne 0x417b50
mov eax, dword [edx + 0x7c]
jmp 0x417b56
mov eax, dword [edx + 0x1bc]
mov ecx, dword [edi + 0x5320]
mov edx, dword [edi + 0x5328]
sub eax, ecx
mov ecx, dword [esp + 0x20]
push eax
push ebx
push edx
call fcn.00425140
mov ebx, dword [esp + 0x14]
add ebx, 0x5290
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417b80
sub eax, edx
mov dword [esp + 0x20], eax
je 0x417bd8
mov eax, dword [0x4b824c]
mov edi, dword [esp + 0xc]
mov eax, dword [eax + 0xb0c]
push 0
push 0
add edi, 0x1c94
push 0
mov ecx, edi
mov dword [esp + 0x2c], eax
call fcn.00455040
push 0
mov ecx, edi
call fcn.004608c0
mov ecx, eax
call fcn.0045b0d0
mov ecx, dword [esp + 0x20]
push 0x1a
push 0
push 0
push edi
push 0x14
push ebx
call fcn.004258c0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 1
push 1
push ecx
mov ecx, dword [esp + 0x28]
push edx
call fcn.00427070
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 3
mov dword [esp + 0x18], eax
jl 0x4178e4
mov ebx, dword [esp + 0xc]
push esi
push 0x532c
lea eax, [ebx + 0x17258]
push 1
push eax
call fcn.0047acf1
lea eax, [ebx + 0x17258]
mov dword [esp + 0x24], eax
mov eax, dword [0x4b824c]
mov edi, dword [eax + 0xb0c]
xor ecx, ecx
mov cl, byte [ebx + 0xcbda]
xor edx, edx
mov dl, byte [ebx + 0xcbd9]
xor eax, eax
mov al, byte [ebx + 0xcbd8]
add esp, 0x10
push ecx
mov ecx, edi
push edx
push eax
call fcn.00425120
mov ecx, dword [ebx + 0xcbe0]
push ecx
mov ecx, edi
call fcn.004250f0
mov edx, dword [ebx + 0xcbf8]
push edx
mov ecx, edi
call fcn.004250b0
push 0x49f180
mov ecx, edi
call fcn.00425e10
mov eax, dword [ebx + 0xcbf4]
mov ecx, dword [ebx + 0xcbf0]
push eax
push ecx
mov ecx, edi
call fcn.00425100
mov eax, dword [ebx + 0x78d0]
cmp eax, 0xffffffff
mov ecx, dword [0x4b824c]
jne 0x417ca1
test eax, eax
jl 0x417cb9
cmp eax, 3
jge 0x417cb9
imul eax, eax, 0x532c
lea edx, [eax + ebx + 0x78d4]
jmp 0x417cbb
xor edx, edx
mov eax, dword [ecx + 0xb0c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x78d0]
test eax, eax
jl 0x417ce3
cmp eax, 3
jge 0x417ce3
imul eax, eax, 0x478
lea edi, [eax + ebx + 0x2bb4]
jmp 0x417ce5
xor edi, edi
mov ecx, dword [edi + 0x228]
test ecx, ecx
jne 0x417cf4
mov eax, dword [edi + 0x78]
jmp 0x417cfa
mov eax, dword [edi + 0x1c0]
mov ebx, dword [edx + 0x531c]
shl ebx, 1
sub eax, ebx
test ecx, ecx
mov ebx, eax
jne 0x417d0f
mov eax, dword [edi + 0x7c]
jmp 0x417d15
mov eax, dword [edi + 0x1bc]
mov edi, dword [edx + 0x5320]
mov ecx, dword [edx + 0x5328]
sub eax, edi
push eax
push ebx
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00425140
mov ecx, dword [esp + 0x28]
mov edi, dword [ecx + 8]
lea ebx, [ecx + 8]
mov edx, 1
xor eax, eax
cmp edi, edx
jne 0x417d46
mov eax, edx
cmp dword [ecx + 0xb4], edx
jne 0x417d4f
inc eax
cmp dword [ecx + 0x160], edx
jne 0x417d58
inc eax
cmp dword [ecx + 0x20c], edx
jne 0x417d61
inc eax
cmp dword [ecx + 0x2b8], edx
jne 0x417d6a
inc eax
test eax, eax
jle 0x417f06
mov edi, dword [esp + 0xc]
add edi, 0x2584
mov ecx, edi
call fcn.00458ff0
mov ecx, edi
call fcn.0044a200
mov ecx, edi
call fcn.0044a200
test eax, eax
je 0x417d9c
mov ecx, edi
call fcn.00458ff0
push 0x800
push 0x300
push 0x400
mov ecx, edi
call fcn.00454fc0
push 0
push 0
push 0
push 0x300
push 0x400
push 0
push 0
mov ecx, edi
call fcn.0044aac0
lea edx, [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], 0
lea esp, [esp]
cmp dword [edx], 1
jne 0x417eea
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x128]
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x28]
lea edi, [esp + 0x128]
mov dword [esp + 0x64], 0x8e
mov dword [esp + 0x68], 0xd2
mov dword [esp + 0x6c], 0x116
mov dword [esp + 0x70], 0x15a
sub edi, eax
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x417e35
lea eax, [edx + 0xc]
mov dword [esp + 0x1c], eax
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x417e50
sub eax, edx
shr eax, 1
lea eax, [eax + eax*2]
shl eax, 3
mov ecx, eax
mov eax, 0x400
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
test eax, eax
jge 0x417e75
xor eax, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [edx]
mov edx, dword [esp + 0x1c]
add ecx, 2
push ecx
push eax
mov eax, dword [esp + 0x14]
add eax, 0x2584
push eax
push 0x16
push edx
mov ecx, ebx
call fcn.00425870
lea eax, [esp + 0x128]
push eax
mov ecx, ebx
call fcn.00425170
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push 0xffffffffffffffff
push edi
push ecx
mov ecx, ebx
call fcn.00424780
mov edx, dword [esp + 0x14]
push 0xffffffffffffffff
push edi
push edx
mov ecx, ebx
call fcn.004247d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push eax
push edi
push ecx
mov ecx, ebx
call fcn.00424820
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
inc eax
add edx, 0xac
cmp eax, 5
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
jl 0x417df0
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x78d0]
add eax, 0x73f0
test edi, edi
jl 0x417f2d
cmp edi, 3
jge 0x417f2d
imul edi, edi, 0x532c
lea edi, [edi + eax + 0x4e4]
jmp 0x417f2f
xor edi, edi
mov eax, dword [0x4b824c]
mov ebx, dword [eax + 0xb0c]
xor edx, edx
mov dl, byte [edi + 0x5306]
xor eax, eax
mov al, byte [edi + 0x5305]
xor ecx, ecx
mov cl, byte [edi + 0x5304]
push edx
push eax
push ecx
mov ecx, ebx
call fcn.00425120
mov edx, dword [edi + 0x530c]
push edx
mov ecx, ebx
call fcn.004250f0
mov eax, dword [edi + 0x5324]
push eax
mov ecx, ebx
call fcn.004250b0
push 0x49f180
mov ecx, ebx
call fcn.00425e10
mov ecx, dword [edi + 0x5320]
mov edx, dword [edi + 0x531c]
push ecx
push edx
mov ecx, ebx
call fcn.00425100
mov eax, dword [esp + 0xc]
mov ecx, dword [0x4b824c]
mov edi, dword [esp + 0xc]
add eax, 0x73f0
mov eax, dword [eax + 0x4e0]
cmp eax, 0xffffffff
mov edx, eax
jne 0x417fbf
mov edx, dword [edi + 0x78d0]
test edx, edx
jl 0x417fd7
cmp edx, 3
jge 0x417fd7
imul edx, edx, 0x532c
lea edx, [edx + edi + 0x78d4]
jmp 0x417fd9
xor edx, edx
mov eax, dword [ecx + 0xb0c]
lea ebx, [edi + 0x73f0]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x4e0]
test eax, eax
jl 0x418007
cmp eax, 3
jge 0x418007
imul eax, eax, 0x478
lea eax, [eax + edi + 0x2bb4]
jmp 0x418009
xor eax, eax
mov ecx, dword [eax + 0x228]
test ecx, ecx
mov dword [esp + 0x1c], eax
jne 0x41801c
mov ecx, dword [eax + 0x78]
jmp 0x418022
mov ecx, dword [eax + 0x1c0]
mov eax, dword [edx + 0x531c]
shl eax, 1
sub ecx, eax
mov eax, dword [esp + 0x1c]
cmp dword [eax + 0x228], 0
jne 0x41803e
mov eax, dword [eax + 0x7c]
jmp 0x418044
mov eax, dword [eax + 0x1bc]
sub eax, dword [edx + 0x5320]
push eax
push ecx
mov ecx, dword [edx + 0x5328]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.00425140
mov ecx, edi
call fcn.004110c0
mov ecx, edi
call fcn.00411180
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0xb14]
push esi
push 4
push 1
push ebx
mov dword [esp + 0x30], eax
call fcn.0047acf1
mov ecx, dword [ebx]
add esp, 0x10
push ecx
mov ecx, edi
call fcn.00415950
cmp dword [ebx], 0
mov dword [esp + 0x18], 0
jle 0x41836d
mov dword [esp + 0x10], 0
lea esp, [esp]
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov eax, dword [eax]
test eax, eax
jle 0x4180da
cmp dword [esp + 0x18], eax
jge 0x4180da
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x73fc]
add eax, 0x73f0
add ebx, dword [esp + 0x10]
jmp 0x4180dc
xor ebx, ebx
mov ecx, dword [ebx + 0x28]
mov dword [esp + 0x14], ecx
call fcn.0042e930
push esi
xor eax, eax
push 0x104
mov ecx, 0x41
lea edi, [esp + 0x130]
rep stosd dword es:[edi], eax
lea edx, [esp + 0x130]
push 1
mov ecx, 0x41
lea edi, [esp + 0x23c]
push edx
mov dword [esp + 0x2c], 0
rep stosd dword es:[edi], eax
call fcn.0047acf1
push esi
push 0x104
lea eax, [esp + 0x248]
push 1
push eax
call fcn.0047acf1
push esi
push 4
lea ecx, [esp + 0x44]
push 1
push ecx
call fcn.0047acf1
lea eax, [esp + 0x158]
add esp, 0x30
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418154
sub eax, edx
mov dword [esp + 0x28], eax
je 0x4181c3
mov ecx, dword [esp + 0x24]
push 0x49f300
lea edx, [esp + 0x12c]
push edx
call fcn.00401aa0
cmp eax, 1
jne 0x4181b1
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x128]
push eax
push ebx
mov ecx, edi
call fcn.0042e5a0
push 1
push ebx
mov ecx, edi
call fcn.0042e210
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov dword [eax + 0x4d8], 1
jmp 0x4181c3
lea ecx, [esp + 0x128]
push ecx
mov ecx, dword [esp + 0x24]
push ebx
call fcn.0042e560
push esi
push 0x11c
lea eax, [ebx + 0x2c]
push 1
push eax
call fcn.0047acf1
push esi
push 4
lea edx, [ebx + 8]
push 1
push edx
call fcn.0047acf1
push esi
push 4
lea eax, [ebx + 4]
push 1
push eax
call fcn.0047acf1
push esi
push 4
push 1
push ebx
call fcn.0047acf1
add esp, 0x40
push esi
push 4
lea edi, [ebx + 0x24]
push 1
push edi
call fcn.0047acf1
push esi
push 8
lea eax, [ebx + 0xc]
push 1
push eax
call fcn.0047acf1
push esi
push 4
lea ecx, [ebx + 0x20]
push 1
push ecx
call fcn.0047acf1
push esi
push 0x30
lea eax, [ebx + 0x268]
push 1
push eax
call fcn.0047acf1
mov eax, dword [edi]
add esp, 0x40
cmp eax, 2
jne 0x418256
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov dword [eax + 0x4d8], 1
mov ecx, dword [esp + 0x14]
call fcn.0042ed30
push esi
push 0x28
mov edi, eax
push 1
push edi
call fcn.0047acf1
mov eax, dword [edi]
mov ecx, dword [esp + 0x24]
add esp, 0x10
sub esp, 0x10
cmp eax, 1
jne 0x4182a6
fld qword [edi + 0x20]
fstp qword [esp + 8]
fld qword [edi + 0x18]
fstp qword [esp]
push 1
call fcn.0042f860
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov dword [eax + 0x4d8], 1
jmp 0x4182c0
fld qword [0x49e9d0]
fstp qword [esp + 8]
fld qword [0x49e9d0]
fstp qword [esp]
push 0
call fcn.0042f860
mov ecx, dword [esp + 0x14]
call fcn.0042eb20
push esi
push 0x110
mov edi, eax
push 1
push edi
call fcn.0047acf1
mov eax, dword [edi]
add esp, 0x10
cmp eax, 1
jne 0x41830b
mov edx, dword [edi + 0x10c]
mov eax, dword [edi + 0x108]
push edx
push eax
add edi, 4
push edi
mov edi, dword [esp + 0x2c]
push ebx
mov ecx, edi
call fcn.0042e000
push ebx
mov ecx, edi
call fcn.0042e0f0
jmp 0x418317
mov edi, dword [esp + 0x20]
push ebx
mov ecx, edi
call fcn.0042e030
mov ecx, dword [ebx + 4]
push ecx
push ebx
mov ecx, edi
call fcn.0042e1c0
push 0
lea eax, [ebx + 0x2c]
push eax
push ebx
mov ecx, edi
call fcn.0042e050
mov edx, dword [esp + 0x1c]
push edx
push ebx
mov ecx, edi
call fcn.0042e230
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx + 0x73f0]
add ecx, 0x73f0
inc eax
add edi, 0x298
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
jl 0x4180b0
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.004131c0
lea eax, [edi + 0xf2c]
push eax
mov ecx, edi
call fcn.00412e90
push esi
push 4
lea ebx, [edi + 0x73f4]
push 1
push ebx
call fcn.0047acf1
mov ecx, dword [ebx]
add esp, 0x10
push ecx
mov ecx, edi
call fcn.00413320
cmp dword [ebx], 0
mov dword [esp + 0x18], 0
jle 0x41848f
mov dword [esp + 0x10], 0
lea ecx, [ecx]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x73f4]
test eax, eax
jle 0x4183e0
cmp dword [esp + 0x18], eax
jge 0x4183e0
mov edi, dword [ecx + 0x7400]
add edi, dword [esp + 0x10]
jmp 0x4183e2
xor edi, edi
push esi
push 0x11c
lea edx, [edi + 0x34]
push 1
push edx
call fcn.0047acf1
push esi
push 4
lea eax, [edi + 8]
push 1
push eax
call fcn.0047acf1
push esi
push 4
lea eax, [edi + 4]
push 1
push eax
call fcn.0047acf1
push esi
push 4
push 1
push edi
call fcn.0047acf1
add esp, 0x40
push esi
push 0x10
lea ebx, [edi + 0xc]
push 1
push ebx
call fcn.0047acf1
push esi
push 0x10
lea ecx, [edi + 0x1c]
push 1
push ecx
call fcn.0047acf1
mov edx, dword [edi + 4]
mov ecx, dword [esp + 0x40]
add esp, 0x20
push edx
push edi
call fcn.0042e1c0
mov ecx, dword [esp + 0x20]
push ebx
push edi
call fcn.0042e1b0
mov ecx, dword [esp + 0x20]
push ebx
push edi
call fcn.0042e1b0
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov edx, dword [ecx + 0x73f4]
add ecx, 0x73f4
inc eax
add edi, 0x2b8
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
jl 0x4183c0
mov edi, dword [esp + 0xc]
push esi
push 4
lea ebx, [edi + 0x73f8]
push 1
push ebx
call fcn.0047acf1
mov eax, dword [ebx]
add esp, 0x10
test eax, eax
mov dword [esp + 0x18], 0
jle 0x41860a
add edi, 0x230018
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edi
jmp 0x4184d0
mov eax, dword [esp + 0x14]
test eax, eax
jl 0x4184e5
cmp eax, 0x4c0
jge 0x4184e5
mov ebx, dword [esp + 0x10]
jmp 0x4184e7
xor ebx, ebx
test eax, eax
jl 0x418505
cmp eax, 0x4c0
jge 0x418505
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
add eax, 0x73f0
lea edi, [eax + ecx + 0x18]
jmp 0x418507
xor edi, edi
push esi
push 0x40
push 1
push edi
call fcn.0047acf1
add esp, 0x10
mov ecx, ebx
call fcn.0043c040
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418521
sub eax, edx
mov dword [esp + 0x28], eax
je 0x4185cc
push edi
mov ecx, ebx
call fcn.0043c9f0
mov ecx, dword [esp + 0xc]
call fcn.004135b0
mov edx, dword [edi + 0x28]
push edx
mov ecx, ebx
call fcn.0043bfa0
mov eax, dword [edi + 0x2c]
push eax
mov ecx, ebx
call fcn.0043c190
mov ecx, dword [edi + 0x38]
push ecx
mov ecx, ebx
call fcn.0043c550
mov edx, dword [edi + 0x3c]
push edx
mov ecx, ebx
call fcn.0043bf30
cmp dword [edi + 0x28], 1
jne 0x4185cc
mov eax, dword [edi + 0x34]
test eax, eax
mov ecx, ebx
jbe 0x418585
push eax
push 1
jmp 0x418589
push 0
push 0
call fcn.0043bf80
mov ecx, dword [edi + 0x20]
mov eax, 1
cmp ecx, eax
jne 0x4185a6
mov ecx, ebx
call fcn.0043c660
mov eax, 1
cmp dword [edi + 0x24], eax
jne 0x4185b7
mov ecx, ebx
call fcn.0043c080
mov eax, 1
cmp dword [edi + 0x30], eax
jne 0x4185cc
mov dword [ebx + 0x16a0], 0xffffd8f0
mov dword [ebx + 0x1698], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov edx, dword [ecx + 0x73f8]
add ecx, 0x73f8
inc eax
add ebx, 0x16c0
add edi, 0x40
cmp eax, edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edi
jl 0x4184d0
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.004135b0
push esi
push 0x3c
lea eax, [edi + 0x73f0]
add eax, 0x151bc
push 1
push eax
call fcn.0047acf1
mov eax, dword [esp + 0x34]
mov ebx, dword [eax + 0xb08]
push esi
push 4
xor eax, eax
lea ecx, [esp + 0x48]
push 1
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x30], eax
call fcn.0047acf1
push esi
push 4
lea edx, [esp + 0x54]
push 1
push edx
call fcn.0047acf1
mov eax, dword [esp + 0x60]
mov ecx, dword [ebx + 8]
add esp, 0x30
cmp ecx, eax
jne 0x418674
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esp + 0x2c]
je 0x41867c
mov dword [esp + 0x10], 1
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x41871c
lea esp, [esp]
push esi
push 0x30
lea edx, [esp + 0xc0]
xor eax, eax
push 1
mov ecx, 0xc
lea edi, [esp + 0xc4]
push edx
rep stosd dword es:[edi], eax
call fcn.0047acf1
push 2
lea eax, [esp + 0xd0]
push 0x49f260
push eax
call fcn.0047bce6
add esp, 0x1c
test eax, eax
je 0x418707
mov eax, dword [esp + 0x10]
test eax, eax
push 1
jne 0x4186f0
mov ecx, dword [esp + 0xe0]
push ecx
lea edx, [esp + 0xc4]
push edx
mov ecx, ebx
call fcn.00446a60
jmp 0x418707
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0xc4]
push ecx
mov ecx, ebx
call fcn.00446bb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x418690
mov eax, dword [esp + 0x2c]
test eax, eax
mov dword [esp + 0x1c], 0
jle 0x4187bf
push esi
push 0x124
lea edx, [esp + 0x238]
xor eax, eax
push 1
mov ecx, 0x49
lea edi, [esp + 0x23c]
push edx
rep stosd dword es:[edi], eax
call fcn.0047acf1
push 2
lea eax, [esp + 0x248]
push 0x49f260
push eax
call fcn.0047bce6
add esp, 0x1c
test eax, eax
je 0x4187aa
mov eax, dword [esp + 0x10]
test eax, eax
push 1
jne 0x418793
lea ecx, [esp + 0x258]
push ecx
lea edx, [esp + 0x23c]
push edx
mov ecx, ebx
call fcn.00446b50
jmp 0x4187aa
lea eax, [esp + 0x234]
push eax
lea ecx, [esp + 0x23c]
push ecx
mov ecx, ebx
call fcn.00446c40
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x418730
mov edi, dword [esp + 0xc]
push esi
lea ebx, [edi + 0x73f0]
push 4
mov dword [esp + 0x18], ebx
add ebx, 0x151b0
push 1
push ebx
call fcn.0047acf1
mov eax, dword [ebx]
add esp, 0x10
cmp eax, 1
mov eax, dword [0x4b824c]
mov eax, dword [eax + 0xb18]
jne 0x418800
cmp dword [edi + 0x1c5a0], 1
jne 0x41880b
push 1
jmp 0x418802
push 0
mov ecx, eax
push 0
call fcn.0043ce40
mov edi, dword [esp + 0x10]
push esi
push 4
lea eax, [edi + 0x151b4]
push 1
push eax
mov dword [esp + 0x28], eax
call fcn.0047acf1
push esi
push 0x48
lea ebx, [edi + 0x228ab4]
push 1
push ebx
call fcn.0047acf1
push esi
push 8
push 1
add edi, 0x228afc
push edi
call fcn.0047acf1
mov eax, dword [ebx]
mov ecx, dword [esp + 0x54]
add esp, 0x30
cmp eax, 1
jne 0x418938
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x22ff74]
test eax, eax
mov edi, dword [ecx + 0xb28]
jne 0x4188ea
push edi
call fcn.0045ba70
mov ecx, eax
call fcn.0045ee50
cmp eax, 1
jne 0x4188ea
push 0
mov ecx, edi
call fcn.0042d6a0
lea edx, [ebx + 0x28]
mov eax, edx
lea ecx, [eax + 1]
mov dword [edi + 0x688], 1
mov dword [esp + 0x28], ecx
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4188a0
sub eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
je 0x4188b9
mov ecx, edi
push edx
call fcn.0042d660
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x22ff74], 1
jne 0x4188cd
mov ecx, edi
call fcn.0042d770
cmp dword [ebx + 4], 1
jne 0x4188da
mov ecx, edi
call fcn.0042cf20
mov eax, dword [esp + 0xc]
mov dword [eax + 0x2bb0], 1
jmp 0x418945
mov eax, dword [esp + 0xc]
add eax, 0x181c
push eax
push 0
lea ecx, [ebx + 8]
push ecx
mov ecx, edi
mov dword [edi + 0x688], 1
call fcn.0042da00
cmp al, 1
jne 0x418918
push 1
mov ecx, edi
call fcn.00407330
lea edx, [ebx + 0x28]
mov eax, edx
lea ecx, [eax + 1]
mov dword [esp + 0x28], ecx
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x418924
sub eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
jmp 0x4188af
mov ecx, dword [ecx + 0xb28]
push 0
call fcn.0042d6a0
mov ebx, dword [0x4b824c]
push 0x104
lea edx, [esp + 0x12c]
xor eax, eax
mov ecx, 0x41
lea edi, [esp + 0x12c]
push edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0xb08]
push str.DATE
call fcn.00446b00
mov ecx, dword [ebx + 0xb18]
lea eax, [esp + 0x128]
push eax
mov eax, dword [esp + 0x10]
add eax, 0x53ec
mov dword [esp + 0x24], eax
add eax, 0x1bb4
push eax
call fcn.0043cd60
mov edi, dword [esp + 0x24]
mov ecx, edi
call fcn.0045ba60
mov ecx, eax
call fcn.0045c020
mov ecx, dword [edi + 0xb7c]
mov ebx, dword [edi + 0xb78]
mov edi, dword [edi + 0xb80]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
add eax, 0x73f0
mov dword [esp + 0x1c], ecx
cmp dword [eax + 0x151bc], 1
mov dword [esp + 0x10], eax
jne 0x418a1c
mov edx, dword [eax + 0x151cc]
mov ecx, dword [eax + 0x151c4]
push 0x1e
push edx
mov edx, dword [eax + 0x151c8]
mov eax, dword [eax + 0x151c0]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0040afb0
mov ecx, dword [esp + 0x14]
push 1
push 1
push 0xa0000000
push ecx
mov ecx, ebx
call fcn.0040b150
jmp 0x418a41
mov ecx, dword [esp + 0x24]
push ebx
call fcn.0045ba70
mov ecx, eax
call fcn.0045ee50
cmp eax, 1
jne 0x418a41
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xb78]
call fcn.0040b300
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 0x151d0], 1
jne 0x418aa1
fld qword [0x49e9d0]
mov eax, dword [ebx + 0x151e0]
mov ecx, dword [ebx + 0x151dc]
mov edx, dword [ebx + 0x151d4]
sub esp, 8
fstp qword [esp]
push 0x14
fild dword [ebx + 0x151d8]
push 0x32
push eax
sub esp, 8
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
call fcn.0040b510
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
push 1
push 1
push 0xa0000000
push eax
call fcn.0040bb90
jmp 0x418acc
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0xb7c]
push eax
call fcn.0045ba70
mov ecx, eax
call fcn.0045ee50
cmp eax, 1
jne 0x418acc
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0xb7c]
call fcn.0040b300
cmp dword [ebx + 0x151e4], 1
jne 0x418b32
fld qword [0x49ea00]
mov edx, dword [ebx + 0x151f4]
mov eax, dword [ebx + 0x151f0]
mov ecx, dword [ebx + 0x151e8]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [0x49e9d0]
fstp qword [esp]
push 0x50
fild dword [ebx + 0x151ec]
push 0x32
push edx
sub esp, 8
fstp qword [esp]
push eax
push ecx
mov ecx, edi
call fcn.0040a090
mov edx, dword [esp + 0x14]
push 1
push 1
push 0xa0000000
push edx
mov ecx, edi
call fcn.0040a960
mov edi, dword [esp + 0x24]
jmp 0x418b5b
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0xb80]
push eax
mov ecx, edi
call fcn.0045ba70
mov ecx, eax
call fcn.0045ee50
cmp eax, 1
jne 0x418b5b
mov ecx, dword [edi + 0xb80]
call fcn.0040b300
push esi
call fcn.0047a57a
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xe44]
add esp, 4
test ecx, ecx
jne 0x418b95
mov ecx, dword [eax + 0x1740]
test ecx, ecx
jne 0x418b95
mov eax, dword [esp + 0x18]
cmp dword [eax], 0
jne 0x418b95
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x2bac], 1
jmp 0x418ba3
mov ebx, dword [esp + 0xc]
mov dword [ebx + 0x2bac], 0
mov edx, dword [esp + 0x34]
mov ecx, dword [edi + 0xb1c]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.0043e940
mov edi, dword [ebp + 8]
mov esi, str.save_sel.sav
mov ecx, 0xd
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x418bd0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x418be0
push str.save_sel.sav
mov ecx, ebx
call fcn.00411a00
lea ecx, [esp + 0x5f0]
mov byte [esp + 0x9cc], 0
call fcn.00458890
lea ecx, [esp + 0x358]
mov dword [esp + 0x9cc], 0xffffffff
call fcn.00463b90
push str.option.dat
mov ecx, ebx
call fcn.004143a0
mov eax, 1
mov ecx, dword [esp + 0x9c4]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x9c4]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4