Function at 0x429a00
Capabilities:
Read .ini file

Disassembly:
push 0xffffffffffffffff
push 0x6479f7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c8
push ebx
push ebp
mov ebp, ecx
push esi
push edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], ebp
call fcn.00643d62
lea ecx, [esp + 0x100]
mov dword [esp + 0x2e0], 0
call fcn.00644002
push 0x73aaac
lea ecx, [esp + 0x38]
mov byte [esp + 0x2e4], 1
call fcn.00643edc
mov eax, dword [ebp + 0x82bf]
mov byte [esp + 0x2e0], 2
test eax, eax
je 0x429a7b
push 0x73aaa8
lea ecx, [esp + 0x38]
call fcn.00644098
mov edi, dword [esp + 0x2e8]
cmp byte [edi], 0
jne 0x429abe
lea eax, [esp + 0x34]
push 0x69c194
lea ecx, [esp + 0x20]
push eax
push ecx
call fcn.00643ea6
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e4], 3
call fcn.00644098
mov byte [esp + 0x2e0], 2
lea ecx, [esp + 0x1c]
jmp 0x429d69
mov esi, 0x69c190
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x429aed
test cl, cl
je 0x429ae9
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x429aed
add eax, 2
add esi, 2
test cl, cl
jne 0x429ac5
xor eax, eax
jmp 0x429af2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x429bc7
push edi
lea ecx, [esp + 0x1c]
call fcn.00643d2c
mov esi, eax
push 0x69c188
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e4], 4
call fcn.00643d2c
push eax
lea eax, [esp + 0x38]
lea ecx, [esp + 0x28]
push eax
push ecx
mov byte [esp + 0x2ec], 5
call fcn.00644050
push esi
lea edx, [esp + 0x2c]
push eax
push edx
mov byte [esp + 0x2ec], 6
call fcn.00644050
push 0x69c180
push eax
lea eax, [esp + 0x24]
mov bl, 7
push eax
mov byte [esp + 0x2ec], bl
call fcn.00643ea6
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e4], 8
call fcn.00644098
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], bl
call fcn.00643d26
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e0], 6
call fcn.00643d26
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e0], 5
call fcn.00643d26
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e0], 4
call fcn.00643d26
mov byte [esp + 0x2e0], 2
lea ecx, [esp + 0x18]
jmp 0x429d69
cmp word [ebp + 0x81b6], 1
push edi
jne 0x429ca2
lea ecx, [esp + 0x1c]
call fcn.00643d2c
mov esi, eax
push 0x69c178
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e4], 9
call fcn.00643d2c
push eax
lea ecx, [esp + 0x28]
push 0x73a890
push ecx
mov byte [esp + 0x2ec], 0xa
call fcn.00644050
push esi
lea edx, [esp + 0x2c]
push eax
push edx
mov byte [esp + 0x2ec], 0xb
call fcn.00644050
push 0x69c174
push eax
lea eax, [esp + 0x24]
mov bl, 0xc
push eax
mov byte [esp + 0x2ec], bl
call fcn.00643ea6
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e4], 0xd
call fcn.00644098
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], bl
call fcn.00643d26
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e0], 0xb
call fcn.00643d26
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e0], 0xa
call fcn.00643d26
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e0], 9
call fcn.00643d26
mov byte [esp + 0x2e0], 2
lea ecx, [esp + 0x18]
jmp 0x429d69
lea ecx, [esp + 0x1c]
call fcn.00643d2c
mov esi, eax
push 0x69c188
lea ecx, [esp + 0x30]
mov byte [esp + 0x2e4], 0xe
call fcn.00643d2c
lea ecx, [esp + 0x34]
push eax
lea edx, [esp + 0x28]
mov bl, 0xf
push ecx
push edx
mov byte [esp + 0x2ec], bl
call fcn.00644050
push esi
push eax
lea eax, [esp + 0x30]
mov byte [esp + 0x2e8], 0x10
push eax
call fcn.00644050
push 0x69c174
lea ecx, [esp + 0x20]
push eax
push ecx
mov byte [esp + 0x2ec], 0x11
call fcn.00643ea6
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x2e4], 0x12
call fcn.00644098
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], 0x11
call fcn.00643d26
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e0], 0x10
call fcn.00643d26
lea ecx, [esp + 0x24]
mov byte [esp + 0x2e0], bl
call fcn.00643d26
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2e0], 0xe
call fcn.00643d26
mov byte [esp + 0x2e0], 2
lea ecx, [esp + 0x18]
call fcn.00643d26
mov edx, dword [esp + 0x10]
push 0
push 0x40
push edx
lea ecx, [esp + 0x10c]
call fcn.00643ffc
test eax, eax
jne 0x429dc7
lea ecx, [esp + 0x34]
mov byte [esp + 0x2e0], 1
call fcn.00643d26
lea ecx, [esp + 0x100]
mov byte [esp + 0x2e0], 0
call fcn.00643fea
lea ecx, [esp + 0x10]
mov dword [esp + 0x2e0], 0xffffffff
call fcn.00643d26
xor eax, eax
jmp 0x42a932
lea ecx, [esp + 0x100]
call fcn.00643ff0
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], 0
not ecx
sub edi, ecx
lea edx, [ebx + 0x8247]
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 0x10
lea edi, [esp + 0xc0]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x50]
rep stosd dword es:[edi], eax
push ecx
mov ecx, esp
mov dword [esp + 0x50], esp
push edx
call fcn.00643edc
mov ecx, ebx
call fcn.004297d0
push 0
lea eax, [esp + 0x20]
push 3
push eax
call fcn.00471ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
mov ebp, dword [fcn.0065e164]
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
push 0x69c16c
push 0x69c050
call ebp
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x429e88
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x20], ebx
jle 0x42a7b2
jmp 0x429ea0
mov ebx, dword [esp + 0x20]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xc0]
push ebx
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc4]
push 0x69c164
push ecx
call dword [fcn.0065f1cc]
lea edi, [ebx - 1]
push 0
lea edx, [esp + 0xb4]
push edi
push edx
call fcn.00471ed0
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
add esp, 0x18
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
lea eax, [esp + 0xd0]
push 0x69c158
push eax
call ebp
lea ecx, [esp + 0xa4]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x429f29
lea ecx, [esp + 0x50]
push ecx
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esp + 0x30], eax
jmp 0x429f2d
mov eax, dword [esp + 0x30]
cmp eax, ebx
jge 0x429f35
test eax, eax
jge 0x429f39
mov dword [esp + 0x30], edi
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x50]
push edx
push 0x40
push eax
push 0x6c7010
lea ecx, [esp + 0xd0]
push 0x69c14c
push ecx
call ebp
lea eax, [esp + 0x18]
lea edx, [esp + 0x50]
push eax
mov ecx, 0x6cf8c0
mov dword [esp + 0x1c], edx
call fcn.00436c80
mov edi, dword [0x6cf8c4]
mov dword [esp + 0x40], eax
cmp eax, edi
je 0x429fbc
mov esi, dword [eax + 0xc]
mov ecx, dword [esp + 0x18]
mov dl, byte [ecx]
mov bl, byte [esi]
mov al, dl
cmp dl, bl
jne 0x429fad
test al, al
je 0x429fa9
mov dl, byte [ecx + 1]
mov bl, byte [esi + 1]
mov al, dl
cmp dl, bl
jne 0x429fad
add ecx, 2
add esi, 2
test al, al
jne 0x429f85
xor eax, eax
jmp 0x429fb2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x429fbc
lea eax, [esp + 0x40]
jmp 0x429fca
mov dword [esp + 0x90], edi
lea eax, [esp + 0x90]
mov eax, dword [eax]
cmp eax, edi
je 0x429fd5
mov ebx, dword [eax + 0x10]
jmp 0x429fd8
or ebx, 0xffffffff
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x50]
push eax
push 0x40
push ecx
push 0x6c7010
lea edx, [esp + 0xd0]
push 0x69c140
push edx
call ebp
lea ecx, [esp + 0x18]
lea eax, [esp + 0x50]
push ecx
mov ecx, 0x6cf8b0
mov dword [esp + 0x1c], eax
call fcn.00436c80
mov edi, dword [0x6cf8b4]
mov dword [esp + 0x40], eax
cmp eax, edi
je 0x42a057
mov esi, dword [eax + 0xc]
mov ecx, dword [esp + 0x18]
mov dl, byte [ecx]
mov al, dl
cmp dl, byte [esi]
jne 0x42a048
test al, al
je 0x42a044
mov dl, byte [ecx + 1]
mov al, dl
cmp dl, byte [esi + 1]
jne 0x42a048
add ecx, 2
add esi, 2
test al, al
jne 0x42a024
xor eax, eax
jmp 0x42a04d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jl 0x42a057
lea eax, [esp + 0x40]
jmp 0x42a065
mov dword [esp + 0xbc], edi
lea eax, [esp + 0xbc]
mov eax, dword [eax]
cmp eax, edi
je 0x42a070
mov edi, dword [eax + 0x10]
jmp 0x42a086
test ebx, ebx
jle 0x42a083
lea eax, [ebx + ebx*4]
lea eax, [eax + eax*4]
lea edi, [eax*4 + 1]
jmp 0x42a086
or edi, 0xffffffff
push 0
lea ecx, [esp + 0x9c]
push 1
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c134
push edx
call ebp
lea ecx, [esp + 0x98]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a0dc
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jle 0x42a0f2
mov dword [esp + 0x48], 1
push 0
lea ecx, [esp + 0xb8]
push 0x32
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c128
push edx
call ebp
lea ecx, [esp + 0xb4]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a148
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1dc]
fstp dword [esp + 0x3c]
add esp, 4
fld dword [esp + 0x38]
fcomp dword [0x663774]
fnstsw ax
test ah, 1
je 0x42a172
fld dword [esp + 0x38]
fcomp dword [0x65f9a8]
fnstsw ax
test ah, 0x41
jne 0x42a172
mov dword [esp + 0x38], 0x42480000
push 0
lea ecx, [esp + 0xa4]
push 1
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c11c
push edx
call ebp
lea ecx, [esp + 0xa0]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a1c9
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
dec eax
mov dword [esp + 0x24], eax
push 0
lea ecx, [esp + 0xb0]
push 0
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c10c
push edx
call ebp
lea ecx, [esp + 0xac]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a21f
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esp + 0x2c], eax
push 0
lea ecx, [esp + 0xac]
push 0
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c100
push edx
call ebp
lea ecx, [esp + 0xa8]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a275
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esp + 0x44], eax
cmp ebx, 8
jne 0x42a39d
push 0
lea ecx, [esp + 0xb4]
push 6
push ecx
call fcn.00471ed0
mov edx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea ecx, [esp + 0x50]
push edx
push 0x40
push ecx
push eax
lea edx, [esp + 0xd0]
push 0x69c0f8
push edx
call ebp
lea ecx, [esp + 0xb0]
mov esi, eax
call fcn.00643d26
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
test esi, esi
jle 0x42a2e7
lea edx, [esp + 0x50]
lea esi, [eax + ecx*4 + 0x51ae]
push edx
mov dword [esp + 0x1c], esi
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esi], eax
jmp 0x42a2f8
lea eax, [eax + ecx*4 + 0x51ae]
mov dword [esp + 0x18], eax
mov dword [eax], 6
push 0
lea edx, [esp + 0xbc]
push 0
push edx
call fcn.00471ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
lea eax, [esp + 0xd0]
push 0x69c0ec
push eax
call ebp
lea ecx, [esp + 0xb8]
mov esi, eax
call fcn.00643d26
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
test esi, esi
lea esi, [ecx + edx*4 + 0x61ae]
jle 0x42a35d
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
add esp, 4
mov dword [esi], eax
jmp 0x42a363
mov dword [esi], 0xffffffff
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
cmp eax, 0x32
jl 0x42a388
cmp eax, 0x64
jge 0x42a388
mov eax, dword [0x826c18]
test eax, eax
jne 0x42a388
mov dword [ecx], 6
mov dword [esi], 0xffffffff
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [eax + ecx*4 + 0x71ae], 1
jmp 0x42a3d2
cmp ebx, 1
jne 0x42a3d2
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x50]
push edx
push 0x40
push eax
push 0
lea ecx, [esp + 0xd0]
push 0x69c0e0
push ecx
call ebp
lea edx, [esp + 0x50]
push edx
call dword [fcn.0065f1d8]
add esp, 4
mov dword [0x89bee4], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0x44]
push eax
push ecx
push edx
jne 0x42a3f8
mov esi, dword [esp + 0x20]
push edi
push ebx
mov ecx, esi
call fcn.0042bd40
jmp 0x42a414
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x20]
push eax
push ecx
push edi
push ebx
push edx
mov ecx, esi
call fcn.0042c0b0
cmp ebx, 1
jne 0x42a55e
mov eax, dword [esp + 0x14]
mov dword [0x89bee4], 0xffffffff
mov edx, dword [esp + 0x10]
lea edi, [esp + 0x110]
movsx ecx, word [eax + 0x48]
push edx
push 0x40
mov ebx, dword [eax + ecx*4 + 0x46]
mov ecx, 0x59
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [esp + 0x58]
lea ecx, [esp + 0xc8]
push eax
push 0
push 0x69c0d8
push ecx
call ebp
lea edx, [esp + 0x50]
push edx
call dword [fcn.0065f1d8]
mov word [esp + 0x134], ax
push 0
lea eax, [esp + 0x9c]
push 4
push eax
call fcn.00471ed0
mov ecx, dword [esp + 0x20]
mov eax, dword [eax]
add esp, 0x10
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
lea eax, [esp + 0xd0]
push 0x69c0cc
push eax
call ebp
lea ecx, [esp + 0x94]
mov esi, eax
call fcn.00643d26
test esi, esi
jl 0x42a4d0
lea ecx, [esp + 0x50]
push ecx
call dword [fcn.0065f1d8]
add esp, 4
dec eax
mov word [esp + 0x132], ax
jmp 0x42a4da
mov word [esp + 0x132], 0xffff
xor eax, eax
cmp word [esp + 0x130], ax
jle 0x42a548
lea esi, [esp + 0x134]
cmp eax, 0xa
jge 0x42a548
lea edi, [eax + 1]
lea edx, [esp + 0x274]
push edi
push 0x69c0c0
push edx
call dword [fcn.0065f1cc]
mov eax, dword [esp + 0x1c]
add esp, 0xc
lea ecx, [esp + 0x274]
lea edx, [esp + 0xc0]
push eax
push 0x1f
push esi
push 0
push ecx
push edx
call ebp
push esi
mov ecx, 0x7398c8
mov byte [esi + 0x1f], 0
call fcn.00414220
movsx ecx, word [esp + 0x130]
mov eax, edi
add esi, 0x20
cmp eax, ecx
jl 0x42a4ed
lea edx, [esp + 0x110]
push 1
push edx
mov ecx, ebx
call fcn.005c3040
jmp 0x42a79d
cmp ebx, 0x11
jne 0x42a5bb
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push edx
push 0x103
movsx ecx, word [eax + 0x48]
mov esi, dword [eax + ecx*4 + 0x46]
lea eax, [esp + 0x58]
push eax
push 0x6c7010
lea ecx, [esp + 0xd0]
push 0x69c0bc
push ecx
call ebp
test eax, eax
jle 0x42a79d
push 0
push 0
push ecx
lea edx, [esp + 0x5c]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.00643d2c
mov ecx, esi
call fcn.005fd510
jmp 0x42a79d
cmp ebx, 8
jne 0x42a5d9
movsx eax, word [esi + 0x48]
add edi, 0xfffffce0
mov ecx, dword [esi + eax*4 + 0x46]
push edi
mov edx, dword [ecx]
call dword [edx + 8]
jmp 0x42a79d
cmp ebx, 0xd
jne 0x42a79d
mov eax, dword [esp + 0x14]
push 0x69c0b0
movsx ecx, word [eax + 0x48]
mov edi, dword [eax + ecx*4 + 0x46]
lea ecx, [esp + 0x20]
call fcn.00643d2c
push 0
lea edx, [esp + 0xa0]
push 2
push edx
mov byte [esp + 0x2ec], 0x13
call fcn.00471ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
lea eax, [esp + 0xd0]
push 0x69c0a8
push eax
call ebp
lea ecx, [esp + 0x9c]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a670
lea ecx, [esp + 0x50]
push ecx
call dword [fcn.0065f1d8]
add esp, 4
cmp eax, 2
mov dword [edi + 0xe8], eax
je 0x42a670
cmp eax, 3
je 0x42a670
mov dword [edi + 0xe8], 2
push 0
lea edx, [esp + 0x50]
push 6
push edx
call fcn.00471ed0
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
add esp, 0xc
lea edx, [esp + 0x50]
push ecx
push 0x40
push edx
push eax
lea eax, [esp + 0xd0]
push 0x69c0f8
push eax
call ebp
lea ecx, [esp + 0x4c]
mov esi, eax
call fcn.00643d26
test esi, esi
jle 0x42a6df
lea ecx, [esp + 0x50]
push ecx
call dword [fcn.0065f1d8]
add esp, 4
mov dword [edi + 0x11c], eax
test eax, eax
jl 0x42a6d5
mov ecx, dword [0x8267b4]
test ecx, ecx
jne 0x42a6df
cmp eax, 0x32
jl 0x42a6df
mov dword [edi + 0x11c], 6
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x54]
push 0x40
push eax
push ecx
lea edx, [esp + 0xd0]
push 0x69c0a0
push edx
call ebp
mov esi, eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x2c]
call fcn.00643d2c
test esi, esi
mov byte [esp + 0x2e0], 0x14
jle 0x42a755
lea esi, [edi + 0xf8]
xor ecx, ecx
mov edx, esi
mov eax, dword [esp + 0x28]
movsx eax, byte [ecx + eax]
add eax, 0xffffffd0
test eax, eax
mov dword [edx], eax
jl 0x42a746
cmp eax, 8
jg 0x42a746
inc ecx
add edx, 4
cmp ecx, 9
jl 0x42a725
jmp 0x42a755
xor eax, eax
mov ecx, esi
mov dword [ecx], eax
inc eax
add ecx, 4
cmp eax, 9
jl 0x42a74a
cmp dword [edi + 0xe8], 3
jge 0x42a762
push 0
jmp 0x42a764
push 1
mov ecx, edi
call fcn.005ffd50
mov edx, dword [edi]
push 0
push 0
push 0xcb
mov ecx, edi
call dword [edx + 4]
lea ecx, [esp + 0x28]
mov byte [esp + 0x2e0], 0x13
call fcn.00643d26
lea ecx, [esp + 0x1c]
mov byte [esp + 0x2e0], 2
call fcn.00643d26
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x429e9c
mov eax, dword [esp + 0x3c]
xor ebx, ebx
test eax, eax
jle 0x42a8f4
mov eax, dword [esp + 0x14]
add eax, 0x4a
mov dword [esp + 0x30], eax
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0xc0]
push ebx
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x54]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0xc4]
push 0x69c164
push ecx
call dword [fcn.0065f1cc]
mov edx, dword [esp + 0x20]
add esp, 0xc
xor esi, esi
lea ecx, [edx + 0x393a]
mov eax, dword [ecx]
test eax, eax
je 0x42a824
mov eax, dword [eax]
test eax, eax
je 0x42a824
mov eax, dword [eax + 0x24]
test eax, eax
je 0x42a824
mov edx, dword [esp + 0x30]
cmp eax, dword [edx]
je 0x42a835
inc esi
add ecx, 4
cmp esi, 0x400
jl 0x42a809
jmp 0x42a8dc
test esi, esi
jl 0x42a8dc
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x50]
push eax
push 0x40
push ecx
push 0
lea edx, [esp + 0xd0]
push 0x69c094
push edx
call ebp
test eax, eax
jle 0x42a87e
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
mov edi, dword [esp + 0x18]
add esp, 4
mov ecx, dword [edi + esi*4 + 0x393a]
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
jmp 0x42a882
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x50]
push eax
push 0x40
push ecx
push 0
lea edx, [esp + 0xd0]
push 0x69c084
push edx
call ebp
test eax, eax
jle 0x42a8bd
lea eax, [esp + 0x50]
push eax
call dword [fcn.0065f1d8]
mov ecx, dword [edi + esi*4 + 0x393a]
add esp, 4
mov edx, dword [ecx]
mov dword [edx + 0x34], eax
mov eax, dword [edi + esi*4 + 0x393a]
mov eax, dword [eax]
mov ecx, dword [eax + 0x30]
test ecx, ecx
jg 0x42a8d4
mov ecx, dword [eax + 0x34]
test ecx, ecx
jle 0x42a8dc
push eax
mov ecx, edi
call fcn.0042c7d0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
inc ebx
add ecx, 4
cmp ebx, eax
mov dword [esp + 0x30], ecx
jl 0x42a7cb
lea ecx, [esp + 0x34]
mov byte [esp + 0x2e0], 1
call fcn.00643d26
lea ecx, [esp + 0x100]
mov byte [esp + 0x2e0], 0
call fcn.00643fea
lea ecx, [esp + 0x10]
mov dword [esp + 0x2e0], 0xffffffff
call fcn.00643d26
mov eax, 1
mov ecx, dword [esp + 0x2d8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2d4
ret 4