Function at 0x42fbe4
Capabilities:
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x31
push 0
push 0
dec ecx
jne 0x42fbed
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x431eac
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
call fcn.0040c054
mov byte [0x446c70], al
cmp byte [0x446c70], 0
je 0x42fc3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x431ec4
call fcn.0040b738
jmp 0x42fc4c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
mov edx, 0x431ee4
call fcn.0040b738
mov eax, 0x446c6c
call fcn.00403b0c
cmp byte [0x446b78], 0
jne 0x42fcfc
push 1
mov ecx, 0x431ef8
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
xor edx, edx
call fcn.0040b38c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
xor edx, edx
call fcn.0040b38c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.0040b38c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x40]
xor edx, edx
call fcn.0040b38c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
xor edx, edx
call fcn.0040b38c
cmp byte [0x446c68], 0
je 0x42fce3
cmp dword [0x446bd0], 0
je 0x42fce3
lea eax, [ebp - 0x68]
mov ecx, dword [0x446bd0]
mov edx, 0x431f40
call fcn.00403df4
mov eax, dword [ebp - 0x68]
xor edx, edx
call fcn.0042fa64
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 8]
mov byte [0x446c70], 1
jmp 0x431c53
xor eax, eax
mov al, byte [0x446b78]
dec eax
test eax, eax
jb 0x431c53
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x30], 0x446b7c
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov edi, eax
mov eax, dword [edi + 0x6f8]
push eax
push 1
mov ecx, 0x431f4c
xor edx, edx
xor eax, eax
call fcn.0042eb08
mov eax, dword [edi + 0x4c]
push eax
push 0
mov ecx, 0x431f60
xor edx, edx
xor eax, eax
call fcn.0042eb08
mov eax, dword [edi + 0x40]
push eax
push 0
mov ecx, 0x431f70
xor edx, edx
xor eax, eax
call fcn.0042eb08
cmp byte [0x446c70], 0
je 0x42fda7
mov eax, dword [edi + 0x44]
push eax
push 0
mov ecx, 0x431f88
xor edx, edx
mov eax, 0x431f9c
call fcn.0042eb08
cmp byte [0x446c68], 0
je 0x42fd93
cmp byte [edi + 0x48], 0
jne 0x42fda7
mov al, byte [edi + 0x48]
push eax
push 0
mov ecx, 0x431fc8
xor edx, edx
xor eax, eax
call fcn.0042ed8c
push dword [edi + 0x5c]
push dword [edi + 0x58]
lea edx, [ebp - 0x6c]
xor eax, eax
call fcn.0040df90
mov eax, dword [ebp - 0x6c]
push eax
push 0
mov ecx, 0x431fe4
xor edx, edx
mov eax, 0x431ff8
call fcn.0042eb08
mov bl, byte [edi + 0x2765]
test bl, bl
je 0x42fdf9
lea edx, [ebp - 0x70]
mov eax, ebx
call fcn.0041ed88
mov eax, dword [ebp - 0x70]
push eax
push 0
mov ecx, 0x432048
xor edx, edx
mov eax, 0x43205c
call fcn.0042eb08
push 0
mov ecx, 0x43208c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x70b], 0
je 0x42fe27
push 1
mov ecx, 0x4320a4
xor edx, edx
mov eax, 0x4320b4
call fcn.0042ea0c
jmp 0x42fe76
mov al, byte [edi + 0x2764]
sub al, 1
jb 0x42fe39
je 0x42fe4e
sub al, 0xd
je 0x42fe63
jmp 0x42fe76
push 1
mov ecx, 0x4320e8
xor edx, edx
mov eax, 0x4320f8
call fcn.0042ea0c
jmp 0x42fe76
push 1
mov ecx, 0x432120
xor edx, edx
mov eax, 0x432130
call fcn.0042ea0c
jmp 0x42fe76
push 1
mov ecx, 0x432158
xor edx, edx
mov eax, 0x432168
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x430004
cmp byte [edi + 0x70b], 0
je 0x42feb3
lea edx, [ebp - 0x74]
mov eax, dword [edi + 0x710]
call fcn.0041f268
mov eax, dword [ebp - 0x74]
push eax
push 0
mov ecx, 0x43219c
xor edx, edx
xor eax, eax
call fcn.0042eb08
jmp 0x42ff50
cmp byte [edi + 0x2764], 1
jne 0x42fee1
cmp byte [edi + 0x61], 0
je 0x42fee1
lea edx, [ebp - 0x78]
mov al, byte [edi + 0x61]
call fcn.0041f034
mov eax, dword [ebp - 0x78]
push eax
push 0
mov ecx, 0x4321b4
xor edx, edx
xor eax, eax
call fcn.0042eb08
push 0
mov ecx, 0x4321cc
xor edx, edx
mov eax, 0x4321e0
call fcn.0042ea0c
push 1
lea edx, [ebp - 0x80]
mov al, byte [edi + 0x60]
call fcn.0041f190
mov ecx, dword [ebp - 0x80]
lea eax, [ebp - 0x7c]
mov edx, 0x432210
call fcn.00403df4
mov ecx, dword [ebp - 0x7c]
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x70a], 0
je 0x42ff50
push 0
mov ecx, 0x43221c
xor edx, edx
mov eax, 0x432228
call fcn.0042ea0c
mov eax, dword [edi + 0x6fc]
push eax
push 1
mov ecx, 0x432260
xor edx, edx
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x70b], 0
je 0x42ffd3
cmp byte [edi + 0x272d], 0
je 0x42ff8e
xor eax, eax
mov al, byte [edi + 0x272d]
push eax
push 0
mov ecx, 0x432274
xor edx, edx
mov eax, 0x432298
call fcn.0042ec50
push 1
mov ecx, 0x4322d0
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c68], 0
je 0x42ffa3
cmp dword [edi + 0x271c], 0x200
je 0x430004
cmp dword [edi + 0x271c], 0x200
setne al
push eax
cmp dword [edi + 0x50], 0x200
setne al
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x4322dc
xor edx, edx
mov eax, 0x4322f4
call fcn.0042eeec
jmp 0x430004
cmp byte [0x446c68], 0
je 0x42ffe5
cmp dword [edi + 0x50], 0x200
je 0x430004
cmp dword [edi + 0x50], 0x200
setne al
push eax
push 0
push 0x4322f4
mov ecx, 0x4322dc
xor edx, edx
pop eax
call fcn.0042ed8c
cmp byte [0x446c70], 0
je 0x43002a
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x43232c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x430362
cmp byte [edi + 0x70b], 0
je 0x4301a0
lea ecx, [ebp - 0x88]
mov dl, byte [edi + 0x2721]
mov al, byte [edi + 0x2720]
call fcn.0041ecd8
push dword [ebp - 0x88]
push 0x432344
push 0x432350
push 0x432360
lea eax, [ebp - 0x84]
mov edx, 4
call fcn.00403e68
mov eax, dword [ebp - 0x84]
push eax
push 0
mov ecx, 0x43236c
mov dl, 1
xor eax, eax
call fcn.0042eb08
push 1
mov eax, 0x432168
mov ecx, 0x432158
xor edx, edx
call fcn.0042ea0c
push 1
push 0x432344
lea edx, [ebp - 0x90]
xor eax, eax
mov al, byte [edi + 0x2720]
call fcn.0040628c
push dword [ebp - 0x90]
push 0x43238c
lea edx, [ebp - 0x94]
xor eax, eax
mov al, byte [edi + 0x2721]
call fcn.0040628c
push dword [ebp - 0x94]
push 0x43239c
lea eax, [ebp - 0x8c]
mov edx, 5
call fcn.00403e68
mov ecx, dword [ebp - 0x8c]
xor edx, edx
xor eax, eax
call fcn.0042ea0c
lea ecx, [ebp - 0x9c]
mov dl, byte [edi + 0x2723]
mov al, byte [edi + 0x2722]
call fcn.0041ecd8
push dword [ebp - 0x9c]
push 0x432344
push 0x432350
push 0x4323a8
lea edx, [ebp - 0xa0]
xor eax, eax
mov al, byte [edi + 0x2722]
call fcn.0040628c
push dword [ebp - 0xa0]
push 0x43238c
lea edx, [ebp - 0xa4]
xor eax, eax
mov al, byte [edi + 0x2723]
call fcn.0040628c
push dword [ebp - 0xa4]
push 0x43239c
lea eax, [ebp - 0x98]
mov edx, 8
call fcn.00403e68
mov eax, dword [ebp - 0x98]
push eax
push 0
mov ecx, 0x4323b8
mov dl, 1
xor eax, eax
call fcn.0042eb08
jmp 0x430312
cmp byte [edi + 0x2764], 0
jne 0x43027c
lea edx, [ebp - 0xac]
mov al, byte [edi + 0x6a]
call fcn.0041eed8
push dword [ebp - 0xac]
push 0x432344
push 0x432350
push 0x4323d8
lea edx, [ebp - 0xb0]
xor eax, eax
mov al, byte [edi + 0x6a]
call fcn.0040628c
push dword [ebp - 0xb0]
push 0x43239c
lea eax, [ebp - 0xa8]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0xa8]
push eax
push 0
mov ecx, 0x43236c
mov dl, 1
xor eax, eax
call fcn.0042eb08
lea edx, [ebp - 0xb8]
mov al, byte [edi + 0x69]
call fcn.0041eed8
push dword [ebp - 0xb8]
push 0x432344
push 0x432350
push 0x4323d8
lea edx, [ebp - 0xbc]
xor eax, eax
mov al, byte [edi + 0x69]
call fcn.0040628c
push dword [ebp - 0xbc]
push 0x43239c
lea eax, [ebp - 0xb4]
mov edx, 6
call fcn.00403e68
mov eax, dword [ebp - 0xb4]
push eax
push 0
mov ecx, 0x4323b8
mov dl, 1
xor eax, eax
call fcn.0042eb08
jmp 0x430312
cmp byte [edi + 0x62], 0
je 0x4302c7
lea edx, [ebp - 0xc4]
mov al, byte [edi + 0x62]
call fcn.0041efd4
push dword [ebp - 0xc4]
push 0x432344
push 0x432350
lea eax, [ebp - 0xc0]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0xc0]
push eax
push 0
mov ecx, 0x43236c
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x63], 0
je 0x430312
lea edx, [ebp - 0xcc]
mov al, byte [edi + 0x63]
call fcn.0041efd4
push dword [ebp - 0xcc]
push 0x432344
push 0x432350
lea eax, [ebp - 0xc8]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0xc8]
push eax
push 0
mov ecx, 0x4323b8
mov dl, 1
xor eax, eax
call fcn.0042eb08
movzx eax, word [edi + 0x6b6]
push eax
push 0
mov ecx, 0x4323f0
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x43240c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
movzx eax, word [edi + 0x6b8]
push eax
push 0
mov ecx, 0x43241c
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x43240c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
movzx eax, word [edi + 0x6b4]
push eax
push 0
mov ecx, 0x432438
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x43240c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x4304b9
movzx eax, word [edi + 0x6be]
push eax
push 0
mov ecx, 0x432454
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x43240c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
movzx eax, word [edi + 0x6ba]
push eax
push 0
mov ecx, 0x432470
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x43240c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov si, word [edi + 0x6b4]
mov bx, word [edi + 0x6ba]
cmp si, bx
jae 0x430446
movzx eax, bx
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
movzx eax, si
mov dword [ebp - 0xdc], eax
fild dword [ebp - 0xdc]
fdivp st(1)
fsub dword [0x432484]
fmul dword [0x432488]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xd4]
call fcn.00406208
mov al, byte [ebp - 0xd4]
mov byte [edi + 0x6bc], al
jmp 0x430490
movzx eax, si
mov dword [ebp - 0xd8], eax
fild dword [ebp - 0xd8]
movzx eax, bx
mov dword [ebp - 0xdc], eax
fild dword [ebp - 0xdc]
fdivp st(1)
fsub dword [0x432484]
fmul dword [0x432488]
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0xd4]
call fcn.00406208
mov al, byte [ebp - 0xd4]
mov byte [edi + 0x6bc], al
xor eax, eax
mov al, byte [edi + 0x6bc]
push eax
push 0
mov ecx, 0x432494
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 1
mov ecx, 0x4324b4
xor edx, edx
xor eax, eax
call fcn.0042ea0c
xor eax, eax
mov al, byte [edi + 0x6b2]
push eax
push 0
mov ecx, 0x4324c0
mov dl, 1
mov eax, 0x4324dc
call fcn.0042ec50
mov bl, byte [edi + 0x6b3]
test bl, bl
je 0x430515
push 1
lea edx, [ebp - 0xe4]
xor eax, eax
mov al, bl
call fcn.0040628c
mov ecx, dword [ebp - 0xe4]
lea eax, [ebp - 0xe0]
mov edx, 0x43250c
call fcn.00403df4
mov ecx, dword [ebp - 0xe0]
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 1
mov ecx, 0x432518
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x430a95
cmp byte [edi + 0x70a], 0
jne 0x430570
cmp word [edi + 0x275e], 0
je 0x430570
movzx eax, word [edi + 0x275e]
push eax
push 0
mov ecx, 0x432528
mov dl, 1
mov eax, 0x432540
call fcn.0042ec50
push 1
mov ecx, 0x432570
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov ebx, dword [edi + 0x64]
test ebx, ebx
je 0x4305a4
mov eax, ebx
xor edx, edx
push edx
push eax
lea edx, [ebp - 0xe8]
xor eax, eax
call fcn.0040df90
mov eax, dword [ebp - 0xe8]
push eax
push 0
mov ecx, 0x432580
mov dl, 1
mov eax, 0x432598
call fcn.0042eb08
cmp byte [0x446c68], 0
je 0x4305b3
cmp byte [edi + 0x73], 0
jne 0x4305d0
mov al, byte [edi + 0x72]
push eax
mov al, byte [edi + 0x73]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x4325c0
mov dl, 1
mov eax, 0x4325e0
call fcn.0042eeec
cmp byte [edi + 0x70b], 0
jne 0x430605
cmp byte [0x446c68], 0
je 0x4305e8
cmp byte [edi + 0x75], 0
jne 0x430605
mov al, byte [edi + 0x74]
push eax
mov al, byte [edi + 0x75]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x43260c
mov dl, 1
mov eax, 0x432624
call fcn.0042eeec
cmp byte [edi + 0x70a], 0
jne 0x43065a
cmp byte [0x446c68], 0
je 0x43061d
cmp byte [edi + 0x7a], 0
je 0x43065a
mov al, byte [edi + 0x7a]
push eax
mov al, byte [edi + 0x7b]
push eax
xor eax, eax
mov al, byte [edi + 0x7c]
push eax
push 0
mov ecx, 0x432654
mov dl, 1
mov eax, 0x43267c
call fcn.0042eeec
cmp byte [edi + 0x7a], 0
je 0x43065a
xor eax, eax
mov al, byte [edi + 0x7d]
push eax
push 0
mov ecx, 0x4326a4
mov dl, 1
xor eax, eax
call fcn.0042ec50
cmp byte [edi + 0x70b], 0
jne 0x430693
cmp byte [0x446c68], 0
je 0x430672
cmp byte [edi + 0x77], 0
je 0x430693
mov al, byte [edi + 0x77]
push eax
mov al, byte [edi + 0x78]
push eax
xor eax, eax
mov al, byte [edi + 0x79]
push eax
push 0
mov ecx, 0x4326cc
mov dl, 1
mov eax, 0x4326f0
call fcn.0042eeec
cmp byte [edi + 0x70b], 0
jne 0x43077d
cmp byte [edi + 0x70a], 0
je 0x4306de
cmp byte [0x446c68], 0
je 0x4306bb
cmp byte [edi + 0x8c], 0
je 0x4306de
mov al, byte [edi + 0x8b]
push eax
mov al, byte [edi + 0x8c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432718
mov dl, 1
mov eax, 0x432738
call fcn.0042eeec
cmp byte [edi + 0x2764], 0
jne 0x430713
cmp byte [0x446c68], 0
je 0x4306f9
cmp byte [edi + 0x88], 0
je 0x430713
mov al, byte [edi + 0x88]
push eax
push 0
mov ecx, 0x432768
mov dl, 1
mov eax, 0x432784
call fcn.0042ed8c
cmp byte [edi + 0x8a], 0
jne 0x430748
cmp byte [0x446c68], 0
je 0x43072e
cmp byte [edi + 0x89], 0
je 0x430748
mov al, byte [edi + 0x89]
push eax
push 0
mov ecx, 0x4327b0
mov dl, 1
mov eax, 0x4327d0
call fcn.0042ed8c
cmp byte [edi + 0x2764], 0
je 0x43077d
cmp byte [0x446c68], 0
je 0x430763
cmp byte [edi + 0x8a], 0
jne 0x43077d
mov al, byte [edi + 0x8a]
push eax
push 0
mov ecx, 0x4327f8
mov dl, 1
mov eax, 0x432818
call fcn.0042ed8c
cmp byte [edi + 0x70a], 0
je 0x4307c4
cmp byte [0x446c68], 0
je 0x4307a1
cmp byte [edi + 0x2760], 0
je 0x4307a1
cmp byte [edi + 0x2761], 0
jne 0x4307c4
mov al, byte [edi + 0x2760]
push eax
mov al, byte [edi + 0x2761]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432840
mov dl, 1
mov eax, 0x432850
call fcn.0042eeec
cmp byte [edi + 0x70b], 0
je 0x43095d
mov al, byte [edi + 0x2724]
push eax
mov al, byte [edi + 0x2725]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432888
mov dl, 1
xor eax, eax
call fcn.0042eeec
cmp dword [edi + 0x2728], 0
je 0x430842
push 1
push 0x432360
mov eax, dword [edi + 0x2728]
xor edx, edx
push edx
push eax
lea edx, [ebp - 0xf0]
xor eax, eax
call fcn.0040df90
push dword [ebp - 0xf0]
push 0x43239c
lea eax, [ebp - 0xec]
mov edx, 3
call fcn.00403e68
mov ecx, dword [ebp - 0xec]
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov al, byte [edi + 0x272f]
push eax
cmp byte [edi + 0x2730], 0
jne 0x43085f
cmp byte [edi + 0x2731], 0
jne 0x43085f
xor eax, eax
jmp 0x430861
mov al, 1
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x4328ac
mov dl, 1
xor eax, eax
call fcn.0042eeec
cmp byte [edi + 0x272f], 0
je 0x43095d
cmp byte [edi + 0x2730], 0
je 0x4308ef
lea edx, [ebp - 0xf4]
mov al, byte [edi + 0x2730]
call fcn.0042fa30
mov eax, dword [ebp - 0xf4]
push eax
push 0
mov ecx, 0x4328d4
mov dl, 1
xor eax, eax
call fcn.0042eb08
lea eax, [edi + 0x385]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4328fc
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x38d]
cmp dword [eax], 0
je 0x4308ef
lea eax, [edi + 0x38d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x43291c
mov dl, 1
xor eax, eax
call fcn.0042ec50
cmp byte [edi + 0x2731], 0
je 0x43095d
lea edx, [ebp - 0xf8]
mov al, byte [edi + 0x2731]
call fcn.0042fa30
mov eax, dword [ebp - 0xf8]
push eax
push 0
mov ecx, 0x432948
mov dl, 1
xor eax, eax
call fcn.0042eb08
lea eax, [edi + 0x389]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x432970
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x391]
cmp dword [eax], 0
je 0x43095d
lea eax, [edi + 0x391]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x432990
mov dl, 1
xor eax, eax
call fcn.0042ec50
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x4329bc
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x70b], 0
jne 0x43099f
xor eax, eax
mov al, byte [edi + 0x2ac]
push eax
push 0
mov ecx, 0x4329d4
mov dl, 1
mov eax, 0x4329f0
call fcn.0042ec50
mov al, byte [edi + 0x6ad]
test al, al
je 0x430a84
cmp byte [edi + 0x6ae], 0
je 0x4309f9
push 0
mov ecx, 0x432a24
mov dl, 1
xor eax, eax
call fcn.0042ea0c
mov al, byte [edi + 0x6ae]
push eax
push 1
mov ecx, 0x432a34
xor edx, edx
mov eax, 0x432a48
call fcn.0042ed8c
xor eax, eax
mov al, byte [edi + 0x6ae]
push eax
push 1
mov ecx, 0x432a74
xor edx, edx
xor eax, eax
call fcn.0042ec50
cmp byte [edi + 0x6b1], 0
je 0x430a95
mov al, byte [edi + 0x6b1]
push eax
push 0
mov ecx, 0x432a94
mov dl, 1
xor eax, eax
call fcn.0042ed8c
push 1
mov ecx, 0x432a74
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x6b1], 0xff
jne 0x430a48
push 1
mov ecx, 0x432aac
xor edx, edx
xor eax, eax
call fcn.0042ea0c
jmp 0x430a95
push 1
lea edx, [ebp - 0x100]
xor eax, eax
mov al, byte [edi + 0x6b1]
call fcn.0040628c
mov ecx, dword [ebp - 0x100]
mov edx, 0x432210
lea eax, [ebp - 0xfc]
call fcn.00403df4
mov ecx, dword [ebp - 0xfc]
xor edx, edx
xor eax, eax
call fcn.0042ea0c
jmp 0x430a95
push eax
push 0
mov ecx, 0x432abc
mov dl, 1
xor eax, eax
call fcn.0042ed8c
mov bl, byte [edi + 0x92]
test bl, bl
je 0x430acb
cmp bl, byte [edi + 0x91]
je 0x430acb
lea edx, [ebp - 0x104]
mov eax, ebx
call fcn.0042fa30
mov eax, dword [ebp - 0x104]
push eax
push 0
mov ecx, 0x432ad0
mov dl, 1
xor eax, eax
call fcn.0042eb08
mov bl, byte [edi + 0x91]
test bl, bl
je 0x430af9
lea edx, [ebp - 0x108]
mov eax, ebx
call fcn.0042fa30
mov eax, dword [ebp - 0x108]
push eax
push 0
mov ecx, 0x432af8
mov dl, 1
xor eax, eax
call fcn.0042eb08
mov bl, byte [edi + 0x8f]
test bl, bl
je 0x430b27
lea edx, [ebp - 0x10c]
mov eax, ebx
call fcn.0042fa30
mov eax, dword [ebp - 0x10c]
push eax
push 0
mov ecx, 0x432b20
mov dl, 1
xor eax, eax
call fcn.0042eb08
mov bl, byte [edi + 0x8e]
test bl, bl
je 0x430b58
lea edx, [ebp - 0x110]
mov eax, ebx
call fcn.0042fa30
mov eax, dword [ebp - 0x110]
push eax
push 0
mov ecx, 0x432b3c
mov dl, 1
mov eax, 0x432b58
call fcn.0042eb08
cmp byte [edi + 0x6dd], 0
je 0x430bbb
cmp byte [0x446c68], 0
je 0x430b8f
cmp dword [edi + 0x6e0], 0
je 0x430bbb
mov eax, dword [edi + 0x6e0]
push eax
push 0
mov ecx, 0x432b88
mov dl, 1
mov eax, 0x432ba4
call fcn.0042ec50
jmp 0x430bbb
cmp byte [0x446c70], 0
jne 0x430ba1
cmp dword [edi + 0x6e0], 0
je 0x430bbb
mov eax, dword [edi + 0x6e0]
push eax
push 0
mov ecx, 0x432b88
mov dl, 1
mov eax, 0x432ba4
call fcn.0042ec50
cmp byte [edi + 0x70b], 0
jne 0x430bcd
cmp byte [edi + 0x6d0], 0
je 0x430be4
mov eax, dword [edi + 0x6d4]
push eax
push 0
mov ecx, 0x432bd0
mov dl, 1
xor eax, eax
call fcn.0042ec50
cmp byte [edi + 0x70b], 0
jne 0x430bf6
cmp byte [edi + 0x6c0], 0
je 0x430c44
cmp byte [edi + 0x70b], 0
jne 0x430c08
cmp dword [edi + 0x6c4], 0
je 0x430c2c
mov eax, dword [edi + 0x6cc]
xor edx, edx
div dword [edi + 0x6c4]
push eax
push 0
mov ecx, 0x432bf4
mov dl, 1
mov eax, 0x432c10
call fcn.0042ec50
jmp 0x430c44
push 0x432c3c
push 0
mov ecx, 0x432bf4
mov dl, 1
mov eax, 0x432c10
call fcn.0042eb08
cmp byte [0x446c70], 0
je 0x430cc1
cmp byte [edi + 0x70a], 0
jne 0x430cc1
cmp byte [0x446c68], 0
je 0x430c65
cmp byte [edi + 0x7e], 0
je 0x430cc1
mov al, byte [edi + 0x7e]
push eax
mov al, byte [edi + 0x7f]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432c54
mov dl, 1
mov eax, 0x432c70
call fcn.0042eeec
cmp byte [edi + 0x7f], 0
je 0x430cc1
cmp byte [edi + 0x80], 0
je 0x430cac
xor eax, eax
mov al, byte [edi + 0x80]
push eax
push 0
mov ecx, 0x432ca4
mov dl, 1
xor eax, eax
call fcn.0042ec50
jmp 0x430cc1
push 0x432ccc
push 0
mov ecx, 0x432ca4
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x70b], 0
jne 0x430cff
cmp byte [0x446c70], 0
je 0x430cff
cmp byte [0x446c68], 0
je 0x430ce5
cmp byte [edi + 0x81], 0
jne 0x430cff
mov al, byte [edi + 0x81]
push eax
push 0
mov ecx, 0x432cf0
mov dl, 1
mov eax, 0x432d18
call fcn.0042ed8c
cmp byte [edi + 0xa6], 0
je 0x430d2f
push 0x432d40
push 0
mov ecx, 0x432d54
mov dl, 1
xor eax, eax
call fcn.0042eb08
push 0
mov ecx, 0x432d68
mov dl, 1
xor eax, eax
call fcn.0042ea0c
jmp 0x430d9f
push 0x432d90
push 0
mov ecx, 0x432d54
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0xa9], 0
je 0x430d6d
push 1
mov ecx, 0x432da4
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x432dbc
mov dl, 1
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0xa7], 0
je 0x430d86
push 1
mov ecx, 0x432df4
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0xaa], 0
je 0x430d9f
push 1
mov ecx, 0x432e10
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x431a97
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x432e2c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c68], 0
je 0x430dd8
cmp byte [edi + 0x6c], 0
je 0x430e49
cmp byte [edi + 0x70b], 0
je 0x430df7
mov al, byte [edi + 0x6b]
push eax
push 0
mov ecx, 0x432e40
mov dl, 1
xor eax, eax
call fcn.0042ed8c
jmp 0x430e11
mov al, byte [edi + 0x6b]
push eax
mov al, byte [edi + 0x6c]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432e40
mov dl, 1
xor eax, eax
call fcn.0042eeec
cmp byte [edi + 0x6c], 0
je 0x430e49
cmp byte [edi + 0x6d], 0
je 0x430e34
push 0x432e64
push 0
mov ecx, 0x432e78
mov dl, 1
xor eax, eax
call fcn.0042eb08
jmp 0x430e49
push 0x432e94
push 0
mov ecx, 0x432e78
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x70b], 0
jne 0x430e78
cmp byte [0x446c68], 0
je 0x430e61
cmp byte [edi + 0x6e], 0
jne 0x430e78
mov al, byte [edi + 0x6e]
push eax
push 0
mov ecx, 0x432ea4
mov dl, 1
mov eax, 0x432ec4
call fcn.0042ed8c
cmp byte [0x446c68], 0
je 0x430e87
cmp byte [edi + 0x70], 0
je 0x430e9e
mov al, byte [edi + 0x70]
push eax
push 0
mov ecx, 0x432f00
mov dl, 1
mov eax, 0x432f24
call fcn.0042ed8c
cmp byte [edi + 0x6b], 0
je 0x430ee7
cmp dword [edi + 0x6e4], 0
je 0x430ee7
cmp dword [edi + 0x6e4], 0x1fe
je 0x430ed2
mov eax, dword [edi + 0x6e4]
push eax
push 0
mov ecx, 0x432f68
mov dl, 1
xor eax, eax
call fcn.0042ec50
jmp 0x430ee7
push 0x432f94
push 0
mov ecx, 0x432f68
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x70b], 0
jne 0x430f78
cmp byte [0x446c68], 0
jne 0x430f17
mov al, byte [edi + 0x85]
push eax
push 0
mov ecx, 0x432fa4
mov dl, 1
mov eax, 0x432fc8
call fcn.0042ed8c
cmp byte [edi + 0x86], 0
je 0x430f52
cmp byte [0x446c68], 0
je 0x430f32
cmp byte [edi + 0x87], 0
je 0x430f52
mov al, byte [edi + 0x86]
push eax
mov al, byte [edi + 0x87]
push eax
push 0xffffffffffffffff
push 0
mov ecx, 0x432ff0
mov dl, 1
xor eax, eax
call fcn.0042eeec
cmp byte [0x446c68], 0
je 0x430f61
cmp byte [edi + 0x71], 0
je 0x430f78
mov al, byte [edi + 0x71]
push eax
push 0
mov ecx, 0x433018
mov dl, 1
mov eax, 0x433034
call fcn.0042ed8c
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x43306c
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x70b], 0
je 0x4313d4
xor eax, eax
mov al, byte [edi + 0x2ad]
push eax
push 0
mov ecx, 0x433080
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x2ae]
movzx eax, word [eax]
push eax
push 0
mov ecx, 0x43309c
mov dl, 1
xor eax, eax
call fcn.0042ec50
xor eax, eax
mov al, byte [edi + 0x2b0]
push eax
push 0
mov ecx, 0x4330bc
mov dl, 1
xor eax, eax
call fcn.0042ec50
xor eax, eax
mov al, byte [edi + 0x2b1]
push eax
push 0
mov ecx, 0x4330d4
mov dl, 1
xor eax, eax
call fcn.0042ec50
xor eax, eax
mov al, byte [edi + 0x2b2]
push eax
push 0
mov ecx, 0x4330f8
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x76e]
movzx eax, word [eax]
add eax, eax
lea eax, [eax + eax*4]
xor edx, edx
mov dl, byte [edi + 0x76d]
add eax, edx
cmp eax, 0xd
jbe 0x431056
xor eax, eax
mov al, byte [edi + 0x2b3]
push eax
push 0
mov ecx, 0x433110
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x2cd]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433144
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x2dd]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x43315c
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x2ed]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433178
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x2fd]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433194
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x30d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4331b0
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x31d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4331d0
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x32d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4331e8
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x33d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433200
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x34d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x43321c
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x35d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433244
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x76e]
movzx eax, word [eax]
add eax, eax
lea eax, [eax + eax*4]
xor edx, edx
mov dl, byte [edi + 0x76d]
add eax, edx
cmp eax, 0xb
jbe 0x431214
lea eax, [edi + 0x36d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433274
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x371]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4332a0
mov dl, 1
xor eax, eax
call fcn.0042ec50
xor ebx, ebx
mov esi, ebx
and esi, 0xff
mov eax, esi
add eax, eax
add eax, 0xc8
lea eax, [edi + eax + 0x2ad]
cmp word [eax], 0
je 0x43120e
xor eax, eax
mov al, bl
add eax, eax
add eax, 0xc8
lea eax, [edi + eax + 0x2ad]
movzx eax, word [eax]
push eax
push 0
lea edx, [ebp - 0x118]
mov eax, esi
inc eax
call fcn.0040628c
mov ecx, dword [ebp - 0x118]
lea eax, [ebp - 0x114]
mov edx, 0x4332cc
call fcn.00403df4
mov ecx, dword [ebp - 0x114]
mov dl, 1
xor eax, eax
call fcn.0042ec50
inc ebx
cmp bl, 8
jne 0x4311a5
lea eax, [edi + 0x76e]
movzx eax, word [eax]
add eax, eax
lea eax, [eax + eax*4]
xor edx, edx
mov dl, byte [edi + 0x76d]
add eax, edx
cmp eax, 0xc
jbe 0x431295
lea eax, [edi + 0x385]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x4332e8
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x389]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433324
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x38d]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433360
mov dl, 1
xor eax, eax
call fcn.0042ec50
lea eax, [edi + 0x391]
mov eax, dword [eax]
push eax
push 0
mov ecx, 0x433398
mov dl, 1
xor eax, eax
call fcn.0042ec50
cmp byte [edi + 0x2ad], 0
je 0x431345
push 0
xor ecx, ecx
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 1
je 0x4312c8
push 0
mov ecx, 0x4333d0
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 2
je 0x4312e1
push 0
mov ecx, 0x433418
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 4
je 0x4312fa
push 0
mov ecx, 0x433454
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 8
je 0x431313
push 0
mov ecx, 0x4334a0
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 0x10
je 0x43132c
push 0
mov ecx, 0x4334d8
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2ad], 0x20
je 0x431345
push 0
mov ecx, 0x433510
mov dl, 1
xor eax, eax
call fcn.0042ea0c
cmp byte [edi + 0x2b3], 0
je 0x4319e7
lea eax, [edi + 0x76e]
movzx eax, word [eax]
add eax, eax
lea eax, [eax + eax*4]
xor edx, edx
mov dl, byte [edi + 0x76d]
add eax, edx
cmp eax, 0xd
jbe 0x4319e7
push 0
xor ecx, ecx
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2b3], 1
je 0x431399
push 0
mov ecx, 0x43355c
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2b3], 4
je 0x4313b2
push 0
mov ecx, 0x4335b8
mov dl, 1
xor eax, eax
call fcn.0042ea0c
test byte [edi + 0x2b3], 8
je 0x4319e7
push 0
mov ecx, 0x433614
mov dl, 1
xor eax, eax
call fcn.0042ea0c
jmp 0x4319e7
mov bl, 9
lea esi, [ebp - 0x64]
call fcn.00408ab0
mov dword [esi], eax
add esi, 4
dec bl
jne 0x4313d9
mov eax, dword [ebp - 0x64]
mov edx, 0x433664
call fcn.0040c328
mov eax, dword [ebp - 0x60]
mov edx, 0x433670
call fcn.0040c328
mov eax, dword [ebp - 0x5c]
mov edx, 0x433680
call fcn.0040c328
mov eax, dword [ebp - 0x58]
mov edx, 0x433690
call fcn.0040c328
mov eax, dword [ebp - 0x54]
mov edx, 0x4336a0
call fcn.0040c328
mov eax, dword [ebp - 0x50]
mov edx, 0x4336b0
call fcn.0040c328
mov eax, dword [ebp - 0x4c]
mov edx, 0x4336c0
call fcn.0040c328
mov eax, dword [ebp - 0x48]
mov edx, 0x4336d4
call fcn.0040c328
mov eax, dword [ebp - 0x44]
mov edx, 0x4336e8
call fcn.0040c328
mov al, byte [edi + 0x2ac]
dec eax
test al, al
jb 0x431780
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea edx, [ebp - 0x11c]
xor eax, eax
mov al, bl
lea esi, [eax + eax*2]
xor eax, eax
mov al, byte [edi + esi*4 + 0x2af]
call fcn.0040628c
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x64]
call fcn.0040c328
lea ecx, [ebp - 0x120]
mov dl, byte [edi + esi*4 + 0x2af]
mov eax, edi
call fcn.00424c58
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0x60]
call fcn.0040c328
test byte [edi + esi*4 + 0x2b0], 1
je 0x4314d5
lea eax, [ebp - 0x1c]
mov edx, 0x4336f8
call fcn.00403ba4
jmp 0x4314e2
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403ba4
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [edi + eax*4 + 0x2b0], 2
je 0x431502
lea eax, [ebp - 0x1c]
mov edx, 0x433710
call fcn.00403db0
jmp 0x43150f
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [edi + eax*4 + 0x2b0], 4
je 0x43152f
lea eax, [ebp - 0x1c]
mov edx, 0x43371c
call fcn.00403db0
jmp 0x43153c
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [edi + eax*4 + 0x2b0], 8
je 0x43155c
lea eax, [ebp - 0x1c]
mov edx, 0x433728
call fcn.00403db0
jmp 0x431569
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [edi + eax*4 + 0x2b0], 0x10
je 0x431589
lea eax, [ebp - 0x1c]
mov edx, 0x433734
call fcn.00403db0
jmp 0x431596
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403db0
xor eax, eax
mov al, bl
lea eax, [eax + eax*2]
test byte [edi + eax*4 + 0x2b0], 0x20
je 0x4315b6
lea eax, [ebp - 0x1c]
mov edx, 0x433740
call fcn.00403db0
jmp 0x4315c3
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403db0
lea eax, [ebp - 0x124]
mov ecx, 0x432344
mov edx, dword [ebp - 0x1c]
call fcn.00403df4
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0x5c]
call fcn.0040c328
lea edx, [ebp - 0x128]
xor eax, eax
mov al, byte [edi + esi*4 + 0x2b2]
call fcn.0040628c
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0x58]
call fcn.0040c328
lea edx, [ebp - 0x12c]
xor eax, eax
mov al, byte [edi + esi*4 + 0x2b3]
call fcn.0040628c
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x54]
call fcn.0040c328
lea edx, [ebp - 0x130]
xor eax, eax
mov al, byte [edi + esi*4 + 0x4b0]
call fcn.0040628c
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x50]
call fcn.0040c328
lea eax, [edi + esi*4 + 0x2b4]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
lea eax, [edi + esi*4 + 0x2b8]
movzx eax, word [eax]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x134]
lea eax, [ebp - 0x24]
call fcn.0040613c
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0x4c]
call fcn.0040c328
mov byte [ebp - 0x16], 0
mov byte [ebp - 0x15], 5
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [edi + edx*4]
cmp byte [edx + eax + 0x2b4], 0
je 0x4316a8
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x16], al
jmp 0x4316b1
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x431687
lea eax, [ebp - 0x1c]
call fcn.00403b0c
mov al, byte [ebp - 0x16]
cmp al, 0
jb 0x431701
mov byte [ebp - 0x15], al
xor eax, eax
mov al, byte [ebp - 0x15]
xor edx, edx
mov dl, bl
lea edx, [edx + edx*2]
lea edx, [edi + edx*4]
movzx eax, byte [edx + eax + 0x2b4]
lea ecx, [ebp - 0x138]
mov edx, 2
call fcn.0040cc20
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x1c]
call fcn.00403db0
dec byte [ebp - 0x15]
cmp byte [ebp - 0x15], 0xff
jne 0x4316c3
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x1c]
call fcn.0040c328
mov edx, ebx
mov eax, edi
call fcn.00428730
cmp al, 1
je 0x431726
mov edx, ebx
mov eax, edi
call fcn.00428730
cmp al, 2
jne 0x431735
lea eax, [ebp - 0x1c]
mov edx, 0x43374c
call fcn.00403ba4
jmp 0x43176b
mov edx, ebx
mov eax, edi
call fcn.00428730
cmp al, 3
je 0x43174f
mov edx, ebx
mov eax, edi
call fcn.00428730
cmp al, 4
jne 0x43175e
lea eax, [ebp - 0x1c]
mov edx, 0x433758
call fcn.00403ba4
jmp 0x43176b
lea eax, [ebp - 0x1c]
mov edx, 0x433704
call fcn.00403ba4
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x1c]
call fcn.0040c328
inc ebx
dec byte [ebp - 0x29]
jne 0x431471
mov byte [ebp - 0x15], 0xf8
lea esi, [ebp - 0x48]
mov byte [ebp - 0x16], 0
mov al, byte [edi + 0x2ac]
test al, al
jb 0x4317e5
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x13c]
xor edx, edx
mov dl, bl
mov eax, dword [esi]
call fcn.0040c394
mov eax, dword [ebp - 0x13c]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
cmp eax, edx
jle 0x4317df
lea ecx, [ebp - 0x140]
xor edx, edx
mov dl, bl
mov eax, dword [esi]
call fcn.0040c394
mov eax, dword [ebp - 0x140]
call fcn.00403da8
mov byte [ebp - 0x16], al
inc ebx
dec byte [ebp - 0x29]
jne 0x43179b
mov al, byte [edi + 0x2ac]
test al, al
jb 0x431866
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x148]
xor edx, edx
mov dl, bl
mov eax, dword [esi]
call fcn.0040c394
mov eax, dword [ebp - 0x148]
call fcn.00403da8
xor edx, edx
mov dl, byte [ebp - 0x16]
sub edx, eax
inc edx
lea ecx, [ebp - 0x144]
mov eax, 0x432344
call fcn.00406450
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x14c]
xor edx, edx
mov dl, bl
mov eax, dword [esi + 4]
call fcn.0040c394
mov edx, dword [ebp - 0x14c]
pop eax
call fcn.00403db0
mov ecx, dword [ebp - 0x144]
xor edx, edx
mov dl, bl
mov eax, dword [esi + 4]
call fcn.0040c3ec
inc ebx
dec byte [ebp - 0x29]
jne 0x4317f5
sub esi, 4
inc byte [ebp - 0x15]
jne 0x431787
mov al, byte [edi + 0x2ac]
test al, al
jb 0x4319a7
inc eax
mov byte [ebp - 0x29], al
mov bl, 0
lea ecx, [ebp - 0x150]
mov esi, ebx
and esi, 0xff
mov edx, esi
mov eax, dword [ebp - 0x64]
call fcn.0040c394
push dword [ebp - 0x150]
lea ecx, [ebp - 0x154]
mov edx, esi
mov eax, dword [ebp - 0x60]
call fcn.0040c394
push dword [ebp - 0x154]
lea ecx, [ebp - 0x158]
mov edx, esi
mov eax, dword [ebp - 0x5c]
call fcn.0040c394
push dword [ebp - 0x158]
lea ecx, [ebp - 0x15c]
mov edx, esi
mov eax, dword [ebp - 0x58]
call fcn.0040c394
push dword [ebp - 0x15c]
lea ecx, [ebp - 0x160]
mov edx, esi
mov eax, dword [ebp - 0x54]
call fcn.0040c394
push dword [ebp - 0x160]
lea ecx, [ebp - 0x164]
mov edx, esi
mov eax, dword [ebp - 0x50]
call fcn.0040c394
push dword [ebp - 0x164]
lea ecx, [ebp - 0x168]
mov edx, esi
mov eax, dword [ebp - 0x4c]
call fcn.0040c394
push dword [ebp - 0x168]
lea ecx, [ebp - 0x16c]
mov edx, esi
mov eax, dword [ebp - 0x48]
call fcn.0040c394
push dword [ebp - 0x16c]
lea eax, [ebp - 0x1c]
mov edx, 8
call fcn.00403e68
cmp byte [edi + 0xa6], 0
jne 0x43196f
cmp byte [edi + 0xa7], 0
jne 0x43196f
cmp byte [edi + 0xa9], 0
jne 0x43196f
cmp byte [edi + 0xaa], 0
je 0x43198f
lea ecx, [ebp - 0x170]
xor edx, edx
mov dl, bl
mov eax, dword [ebp - 0x44]
call fcn.0040c394
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 0x1c]
call fcn.00403db0
push 0
mov ecx, dword [ebp - 0x1c]
mov dl, 1
xor eax, eax
call fcn.0042ea0c
inc ebx
dec byte [ebp - 0x29]
jne 0x431886
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x433768
mov dl, 1
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x4337bc
mov dl, 1
xor eax, eax
call fcn.0042ea0c
mov bl, 9
lea esi, [ebp - 0x64]
mov eax, dword [esi]
call fcn.0040a270
add esi, 4
dec bl
jne 0x4319d9
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
mov ecx, 0x4337fc
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov eax, dword [edi + 0x34]
push eax
push 0
mov ecx, 0x43380c
mov dl, 1
mov eax, 0x433824
call fcn.0042eb08
cmp byte [edi + 0x70b], 0
jne 0x431a97
cmp byte [edi + 0x2764], 0
jne 0x431a97
cmp byte [edi + 0x32], 0
je 0x431a97
cmp byte [edi + 0x31], 0
je 0x431a50
push 0x433858
push 0
mov ecx, 0x43386c
mov dl, 1
xor eax, eax
call fcn.0042eb08
jmp 0x431a65
push 0x433888
push 0
mov ecx, 0x43386c
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp byte [edi + 0x30], 0
je 0x431a82
push 0x433898
push 0
mov ecx, 0x4338a8
mov dl, 1
xor eax, eax
call fcn.0042eb08
jmp 0x431a97
push 0x4338c4
push 0
mov ecx, 0x4338a8
mov dl, 1
xor eax, eax
call fcn.0042eb08
cmp dword [edi + 0x6ec], 0
je 0x431aba
mov eax, dword [edi + 0x6ec]
push eax
push 0
mov ecx, 0x4338d4
mov dl, 1
mov eax, 0x4338ec
call fcn.0042eb08
cmp byte [edi + 0x275c], 0
je 0x431b09
push 0
mov ecx, 0x433928
mov dl, 1
xor eax, eax
call fcn.0042ea0c
push 1
mov ecx, 0x433940
xor edx, edx
mov eax, 0x43394c
call fcn.0042ea0c
cmp byte [0x446c70], 0
je 0x431b09
mov al, byte [edi + 0x275d]
push eax
push 0
mov ecx, 0x433978
mov dl, 1
mov eax, 0x433988
call fcn.0042ed8c
lea edx, [ebp - 0x174]
lea eax, [edi + 0x96]
call fcn.0040e544
mov eax, dword [ebp - 0x174]
push eax
push 0
mov ecx, 0x4339c0
mov dl, 1
xor eax, eax
call fcn.0042eb08
mov al, byte [0x446c70]
and al, byte [0x446c68]
je 0x431b6a
cmp dword [edi + 0x704], 0
je 0x431b6a
mov edx, 0x431f40
lea eax, [ebp - 0x178]
mov ecx, dword [edi + 0x704]
call fcn.00403df4
mov eax, dword [ebp - 0x178]
xor edx, edx
call fcn.0042fa64
mov al, byte [0x446b78]
dec eax
and eax, 0xff
cmp eax, dword [ebp - 0x10]
je 0x431ba6
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
jmp 0x431c43
cmp byte [0x446c70], 0
je 0x431c43
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.0042ea0c
mov eax, dword [0x4469f4]
push eax
push 0
mov ecx, 0x4339dc
xor edx, edx
xor eax, eax
call fcn.0042eb08
mov eax, dword [0x44691c]
push eax
push 0
mov ecx, 0x4339f4
xor edx, edx
xor eax, eax
call fcn.0042eb08
cmp byte [0x446c68], 0
je 0x431c0e
cmp byte [0x446bfc], 0
je 0x431c0e
push 0
mov ecx, 0x433a10
xor edx, edx
xor eax, eax
call fcn.0042ea0c
cmp byte [0x446c68], 0
je 0x431c43
cmp dword [0x446bd0], 0
je 0x431c43
mov edx, 0x431f40
lea eax, [ebp - 0x17c]
mov ecx, dword [0x446bd0]
call fcn.00403df4
mov eax, dword [ebp - 0x17c]
xor edx, edx
call fcn.0042fa64
inc dword [ebp - 0x10]
add dword [ebp - 0x30], 4
dec dword [ebp - 0x28]
jne 0x42fd1e
cmp byte [0x446c68], 0
je 0x431c61
call fcn.0042f3c4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.00408cec
push 0x433a34
push dword [0x446c6c]
push 0x433a64
lea eax, [ebp - 0x180]
mov edx, 3
call fcn.00403e68
mov eax, dword [ebp - 0x180]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
xor edx, edx
call fcn.004098e4
call fcn.00408ab0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x184]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dl, 1
call fcn.004097a4
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp - 0x14]
call fcn.00408bbc
xor ebx, ebx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x1c]
dec eax
test eax, eax
jb 0x431d3a
inc eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408ad4
mov edx, eax
lea eax, [ebp - 0x188]
call fcn.00403ce8
mov eax, dword [ebp - 0x188]
call fcn.00403da8
cmp ebx, eax
jge 0x431d32
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00408ad4
mov edx, eax
lea eax, [ebp - 0x18c]
call fcn.00403ce8
mov eax, dword [ebp - 0x18c]
call fcn.00403da8
mov ebx, eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x28]
jne 0x431ce6
cmp ebx, 0x26
jge 0x431d44
mov ebx, 0x26
lea eax, [ebp - 0x40]
call fcn.00409dc0
push 2
call sub.user32.dll_GetSystemMetrics
mov edx, eax
mov eax, ebx
shl eax, 3
add eax, 0x10
add edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bf30
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x1c]
shl ebx, 4
add ebx, 0xd
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov edx, ebx
call fcn.0040bb20
lea edx, [ebx + 0x5f]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bf10
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bb14
cmp eax, dword [ebp - 0x34]
jle 0x431dd6
mov eax, dword [ebp - 0x34]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bb20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
call fcn.0040bb14
mov edx, eax
add edx, 0x5f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bf10
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x1c]
push eax
call sub.user32.dll_GetWindowLongA
test eax, 0x200000
jne 0x431e0f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040befc
push eax
push 2
call sub.user32.dll_GetSystemMetrics
pop edx
sub edx, eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bf30
push ebp
call fcn.0042fb34
pop ecx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040baec
mov edx, dword [ebp - 0x38]
sub edx, eax
sar edx, 1
jns 0x431e2d
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040ba98
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bb14
mov edx, dword [ebp - 0x34]
sub edx, eax
sar edx, 1
jns 0x431e4f
adc edx, 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040bac8
mov eax, dword [ebp - 0x14]
call fcn.0040a270
cmp byte [0x446c68], 0
jne 0x431e76
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x18]
call fcn.0040b8ac
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x431eb3
lea eax, [ebp - 0x18c]
mov edx, 0x2c
call fcn.00403b30
lea eax, [ebp - 0xcc]
mov edx, 0x1a
call fcn.00403b30
lea eax, [ebp - 0x1c]
call fcn.00403b0c
ret