Function at 0x2389ce39
Capabilities:
Parse pe header

Disassembly:
push 0x254
mov eax, 0x2390fe63
call fcn.23817d44
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x18c], ecx
xor edi, edi
push eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x108], edi
call fcn.238c2799
push 0xff0
push 1
mov dword [ebp - 4], edi
call fcn.238c2799
mov esi, eax
lea eax, [esi + 0x4a0]
mov dword [ebp - 0x214], eax
lea eax, [esi + 0x4b0]
mov dword [ebp - 0x21c], eax
lea eax, [esi + 0x4c0]
mov dword [ebp - 0x20c], eax
pop ecx
lea eax, [esi + 0x4e0]
pop ecx
push dword [0x2397b360]
mov dword [ebp - 0x210], eax
lea eax, [esi + 0x4f8]
mov dword [ebp - 0x218], eax
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x1c0], esi
mov dword [esi], 0x4a0
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.2386d68c
dec eax
neg eax
sbb eax, eax
inc eax
lea ecx, [ebp - 0x1a4]
mov word [esi + 6], ax
mov byte [ebp - 4], 0
call fcn.238143f2
push dword [0x2397b368]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
mov dword [esi + 0x10], 3
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 2
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1bc]
sbb bl, bl
mov byte [ebp - 4], 0
call fcn.238143f2
inc bl
je 0x2389cf91
push dword [0x2397b368]
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.2386d68c
lea ecx, [ebp - 0x1a4]
mov ebx, eax
mov byte [ebp - 4], 0
call fcn.238143f2
lea eax, [ebx - 1]
cmp eax, 2
ja 0x2389cf91
mov dword [esi + 0x10], ebx
push dword [0x2397b360]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x188]
sbb bl, bl
mov byte [ebp - 4], 0
call fcn.238143f2
inc bl
je 0x2389d00b
push dword [0x2397b360]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.2386d68c
neg eax
sbb eax, eax
inc eax
lea ecx, [ebp - 0x1bc]
mov word [esi + 4], ax
mov byte [ebp - 4], 0
call fcn.238143f2
jmp 0x2389d012
xor eax, eax
inc eax
mov word [esi + 4], ax
push 1
push edi
mov dword [ebp - 0x118], edi
call fcn.238c2799
pop ecx
pop ecx
mov dword [ebp - 0x118], eax
push dword [0x2397b36c]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 6
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.23845cb8
cmp eax, 3
lea ecx, [ebp - 0x188]
sete bl
mov byte [ebp - 4], 6
call fcn.238143f2
test bl, bl
je 0x2389d11a
push dword [0x2397b36c]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
lea ecx, [ebp - 0x124]
push ecx
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.2385d4c7
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 9
call fcn.23857efe
push dword [eax + 4]
mov byte [ebp - 4], 0xa
call fcn.238c2799
pop ecx
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 0xb
call fcn.238c2799
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x11c], edi
je 0x2389d0ed
push dword [ebp - 0x11c]
call fcn.238c2799
pop ecx
lea ecx, [ebp - 0x194]
mov byte [ebp - 4], 9
call fcn.2383b206
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 8
call fcn.2383b206
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 6
call fcn.238143f2
lea ecx, [ebp - 0x118]
call fcn.2381cf81
test al, al
jne 0x2389d33d
xor eax, eax
mov word [esi + 4], ax
cmp dword [ebp - 0x118], edi
je 0x2389d14b
push edi
push dword [ebp - 0x118]
call fcn.238c2799
pop ecx
pop ecx
jmp 0x2389d14d
xor eax, eax
push dword [ebp - 0x118]
cmp eax, 0x2f
setne bl
mov dword [ebp - 0x168], edi
mov dword [ebp - 0x164], edi
call fcn.238c2799
pop ecx
mov dword [ebp - 0x168], eax
push edi
push edi
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xc
call fcn.238c2799
mov byte [ebp - 4], 0xd
cmp bl, 1
jne 0x2389d287
push dword [ebp - 0x1ec]
mov eax, dword [0x239840f4]
mov ebx, dword [0x239840cc]
call dword [eax + 0xc0]
push eax
call dword [ebx + 0x13c]
pop ecx
pop ecx
mov dword [ebp - 0x11c], eax
cmp eax, edi
je 0x2389d29a
push eax
mov eax, dword [0x239840ac]
call dword [eax + 0x98]
push dword [ebp - 0x11c]
mov ebx, eax
mov eax, dword [0x239840ac]
call dword [eax + 0x94]
pop ecx
pop ecx
mov dword [ebp - 0x108], eax
cmp eax, edi
je 0x2389d29a
push eax
mov eax, dword [0x239840ac]
push ebx
call dword [eax + pe_nt_image_headers32]
pop ecx
pop ecx
mov dword [ebp - 0x11c], eax
cmp eax, edi
je 0x2389d274
lea ecx, [ebp - 0x124]
call fcn.23803c48
push dword [ebp - 0x124]
mov eax, dword [0x239840ac]
push edi
push dword [ebp - 0x11c]
mov byte [ebp - 4], 0xe
push ebx
call dword [eax + 0x1a4]
add esp, 0x10
push dword [ebp - 0x168]
lea ecx, [ebp - 0x124]
call fcn.238c2799
push 1
push dword [ebp - 0x124]
lea ecx, [ebp - 0x134]
call fcn.238c2799
push dword [ebp - 0x11c]
mov eax, dword [0x239840ac]
push ebx
call dword [eax + 0x64]
pop ecx
pop ecx
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0xd
call fcn.23803ba1
push dword [ebp - 0x108]
mov eax, dword [0x239840ac]
push ebx
call dword [eax + 0x64]
pop ecx
pop ecx
jmp 0x2389d29a
push 1
push dword [ebp - 0x168]
lea ecx, [ebp - 0x134]
call fcn.238c2799
mov ebx, dword [ebp - 0x134]
lea ecx, [ebp - 0x134]
call fcn.238bf6ac
mov edi, eax
test edi, edi
je 0x2389d2bb
mov dword [esi + 0x1c], edi
call dword [ebx + 0x4c]
mov word [esi + 0x18], ax
xor eax, eax
inc eax
mov word [esi + 0x3a], ax
lea eax, [ebp - 0x104]
push eax
mov eax, dword [0x239840ac]
push edi
push ebx
mov dword [ebp - 0x104], 0x48
call dword [eax + 0xe8]
add esp, 0xc
cmp word [ebp - 0x100], 0
jne 0x2389d3b5
push 0x239208bc
push edi
push ebx
call fcn.238c2799
add esp, 0xc
test ax, ax
jne 0x2389d31d
push 0x239208b8
push edi
push ebx
call fcn.238c2799
add esp, 0xc
test ax, ax
je 0x2389d3b5
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xc
call fcn.23854532
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 6
call fcn.23803ba1
xor edi, edi
push dword [0x2397b378]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0xf
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x188]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d421
push dword [0x2397b378]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x10
call fcn.23873b9c
lea ecx, [ebp - 0x1bc]
mov dword [esi + 0x44], eax
mov byte [ebp - 4], 6
call fcn.238143f2
jmp 0x2389d424
mov eax, dword [0x239840ac]
push esi
call dword [eax + 0xc]
xor esi, esi
push esi
push 5
push esi
push dword [ebp - 0x18c]
push dword [ebp - 0x140]
call fcn.2388dc03
add esp, 0x18
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0xc
call fcn.23854532
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 6
call fcn.23803ba1
cmp dword [ebp - 0x118], esi
mov byte [ebp - 4], 0
je 0x2389d40e
push dword [ebp - 0x118]
call fcn.238c2799
pop ecx
lea ecx, [ebp - 0x110]
call fcn.23814393
xor eax, eax
call fcn.23817dfe
ret
mov dword [esi + 0x44], edi
push dword [0x2397b364]
and dword [esi + 0x44], 0xffeffdff
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x11
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1a4]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d4b6
push dword [0x2397b364]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.2386d68c
lea ecx, [ebp - 0x188]
mov ebx, eax
mov byte [ebp - 4], 6
call fcn.238143f2
mov eax, ebx
sub eax, edi
je 0x2389d4af
dec eax
dec eax
jne 0x2389d4b6
or dword [esi + 0x44], 0x100000
jmp 0x2389d4b6
or dword [esi + 0x44], 0x200
push dword [0x2397b37c]
and dword [esi + 0x44], 0xffffe7ff
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1bc]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d546
push dword [0x2397b37c]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.2386d68c
lea ecx, [ebp - 0x188]
mov ebx, eax
mov byte [ebp - 4], 6
call fcn.238143f2
mov eax, ebx
dec eax
je 0x2389d53f
dec eax
jne 0x2389d546
or dword [esi + 0x44], 0x800
jmp 0x2389d546
or dword [esi + 0x44], 0x1800
xor eax, eax
inc eax
mov word [esi + 0x40], ax
xor eax, eax
mov word [esi + 0x3e], ax
push dword [0x2397b3dc]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x188]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d61d
mov eax, dword [0x239840b0]
push 0x238c90c3
push edi
mov byte [ebp - 4], 0x16
call dword [eax + 8]
pop ecx
pop ecx
push dword [0x2397b3dc]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x17
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.2386d68c
lea ecx, [ebp - 0x1bc]
mov edi, eax
call fcn.238143f2
cmp edi, 2
ja 0x2389d5f5
mov eax, fcn.23803921
test eax, eax
je 0x2389d5f1
push edi
call fcn.238c2799
pop ecx
mov word [esi + 0x3e], di
mov eax, dword [0x239840b0]
mov byte [ebp - 4], 0x16
call dword [eax + 0xc]
mov dword [ebp - 4], 6
jmp 0x2389d61d
push dword [0x2397b380]
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x1a4]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
push dword [0x2397b380]
lea ecx, [ebp - 0x110]
je 0x2389d684
lea eax, [ebp - 0x188]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1b
call fcn.23873b68
lea ecx, [ebp - 0x188]
jmp 0x2389d6e4
lea eax, [ebp - 0x1bc]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1c
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1bc]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d6f3
push dword [0x2397b380]
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.2386d68c
neg eax
sbb eax, eax
neg eax
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 6
mov word [esi + 0x50], ax
call fcn.238143f2
jmp 0x2389d6f9
xor eax, eax
mov word [esi + 0x50], ax
push dword [0x2397b384]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1e
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x1d8]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
push dword [0x2397b384]
lea ecx, [ebp - 0x110]
je 0x2389d763
lea eax, [ebp - 0x188]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x1f
call fcn.23899efe
movzx eax, al
lea ecx, [ebp - 0x188]
jmp 0x2389d7c2
lea eax, [ebp - 0x1bc]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x20
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1bc]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d7d1
push dword [0x2397b384]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x21
call fcn.2386d68c
neg eax
sbb eax, eax
inc eax
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 6
mov word [esi + 0x52], ax
call fcn.238143f2
jmp 0x2389d7d7
xor eax, eax
mov word [esi + 0x52], ax
push dword [0x2397b388]
or dword [esi + 8], 0xffffffff
or dword [esi + 0xc], 0xffffffff
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
xor edi, edi
inc edi
mov ecx, eax
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x108], edi
call fcn.23845cb8
cmp eax, edi
jne 0x2389d847
push dword [0x2397b38c]
lea eax, [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov dword [ebp - 4], 0x23
mov dword [ebp - 0x108], 3
call fcn.23845cb8
cmp eax, edi
jne 0x2389d847
mov bl, 1
jmp 0x2389d849
xor bl, bl
test byte [ebp - 0x108], 2
je 0x2389d864
and dword [ebp - 0x108], 0xfffffffd
lea ecx, [ebp - 0x1a4]
call fcn.238143f2
test byte [ebp - 0x108], 1
mov dword [ebp - 4], 6
je 0x2389d886
and dword [ebp - 0x108], 0xfffffffe
lea ecx, [ebp - 0x204]
call fcn.238143f2
test bl, bl
je 0x2389d8f4
push dword [0x2397b388]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.2386d68c
lea ecx, [ebp - 0x1d8]
mov dword [esi + 8], eax
mov byte [ebp - 4], 6
call fcn.238143f2
push dword [0x2397b38c]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x25
call fcn.2386d68c
lea ecx, [ebp - 0x188]
mov dword [esi + 0xc], eax
mov byte [ebp - 4], 6
call fcn.238143f2
push dword [0x2397b390]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x26
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x1d8]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
push dword [0x2397b390]
lea ecx, [ebp - 0x110]
je 0x2389d95b
lea eax, [ebp - 0x204]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x27
call fcn.23873b68
lea ecx, [ebp - 0x204]
jmp 0x2389d9bb
lea eax, [ebp - 0x188]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x28
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x188]
sbb bl, bl
mov byte [ebp - 4], 6
call fcn.238143f2
inc bl
je 0x2389d9ca
push dword [0x2397b390]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x29
call fcn.2386d68c
neg eax
sbb eax, eax
neg eax
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 6
mov word [esi + 0x54], ax
call fcn.238143f2
jmp 0x2389d9d0
xor eax, eax
mov word [esi + 0x54], ax
push dword [0x2397b374]
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x110]
mov dword [esi + 0x58], 0xfffffffd
call fcn.238153d9
lea ecx, [ebp - 0x22c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2a
call fcn.238155a3
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 0x2b
call fcn.238c2799
lea ecx, [ebp - 0x22c]
call fcn.23814393
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 0x2e
call fcn.238143f2
lea ecx, [ebp - 0x170]
call fcn.2381c53c
cmp eax, 2
jne 0x2389dd7f
lea ecx, [ebp - 0x170]
call fcn.2383abca
test ax, ax
je 0x2389dd7f
lea ecx, [ebp - 0x170]
call fcn.2383ab5d
mov edi, eax
mov dword [ebp - 0x164], edi
test edi, edi
je 0x2389dd7f
push 0xc
push edi
mov word [esi + 0x4c], di
call fcn.238c2799
and dword [ebp - 0x11c], 0
pop ecx
pop ecx
mov dword [esi + 0x48], eax
test edi, edi
jle 0x2389dd2c
xor ebx, ebx
push dword [ebp - 0x11c]
and dword [ebp - 0x1e0], 0
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x170]
call fcn.2381d8ef
lea ecx, [ebp - 0x224]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2f
call fcn.238155a3
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x30
call fcn.238c2799
lea ecx, [ebp - 0x224]
call fcn.23814393
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x33
call fcn.238143f2
lea ecx, [ebp - 0x134]
call fcn.2381c53c
cmp eax, 2
jne 0x2389dcb0
lea ecx, [ebp - 0x134]
call fcn.2383abca
test ax, ax
je 0x2389dcb0
lea ecx, [ebp - 0x134]
call fcn.2383ab5d
cmp eax, 2
jne 0x2389dcb0
push 0
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x134]
call fcn.2381d8ef
lea ecx, [ebp - 0x148]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x34
call fcn.238155a3
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 0x35
call fcn.238c2799
lea ecx, [ebp - 0x148]
call fcn.23814393
lea ecx, [ebp - 0x1d8]
mov byte [ebp - 4], 0x38
call fcn.238143f2
push 1
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x134]
call fcn.2381d8ef
lea ecx, [ebp - 0x194]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x39
call fcn.238155a3
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x3a
call fcn.238c2799
lea ecx, [ebp - 0x194]
call fcn.23814393
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x3d
call fcn.238143f2
lea ecx, [ebp - 0x124]
call fcn.2381c53c
cmp eax, 1
jne 0x2389dc9a
lea ecx, [ebp - 0x1e8]
call fcn.2381c53c
cmp eax, 1
jne 0x2389dc9a
lea ecx, [ebp - 0x124]
call fcn.2385cf6e
lea ecx, [ebp - 0x1e8]
mov dword [ebp - 0x1dc], eax
call fcn.2385cf6e
push dword [ebp - 0x1ec]
mov edi, dword [0x239840cc]
mov dword [ebp - 0x208], eax
mov eax, dword [0x239840f4]
call dword [eax + 0xc0]
push eax
call dword [edi + 0x14c]
cmp dword [ebp - 0x1dc], 0
pop ecx
pop ecx
jl 0x2389dcfd
mov edx, dword [ebp - 0x1dc]
cmp edx, eax
jge 0x2389dcfd
mov ecx, dword [ebp - 0x208]
test ecx, ecx
js 0x2389dcd6
cmp ecx, eax
jge 0x2389dcd6
mov eax, dword [esi + 0x48]
mov edi, dword [ebp - 0x164]
mov dword [ebx + eax], edx
mov eax, dword [esi + 0x48]
mov dword [eax + ebx + 4], ecx
mov eax, dword [esi + 0x48]
mov dword [eax + ebx + 8], 0xfffffffd
mov dword [ebp - 0x1e0], 1
lea ecx, [ebp - 0x1e8]
call fcn.23814393
lea ecx, [ebp - 0x124]
call fcn.23814393
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x2e
call fcn.23814393
inc dword [ebp - 0x11c]
add ebx, 0xc
cmp dword [ebp - 0x11c], edi
jl 0x2389da96
jmp 0x2389dd22
lea ecx, [ebp - 0x1e8]
call fcn.23814393
lea ecx, [ebp - 0x124]
call fcn.23814393
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x2e
call fcn.23814393
jmp 0x2389dd2c
lea ecx, [ebp - 0x1e8]
call fcn.23814393
lea ecx, [ebp - 0x124]
call fcn.23814393
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 0x2e
call fcn.23814393
cmp word [ebp - 0x1e0], 0
jne 0x2389dd7f
mov eax, dword [esi + 0x48]
xor edi, edi
cmp eax, edi
je 0x2389dd48
push eax
mov eax, dword [0x239840ac]
call dword [eax + 0xc]
xor eax, eax
pop ecx
mov dword [esi + 0x48], edi
mov word [esi + 0x4c], ax
mov eax, dword [0x239840ac]
push esi
call dword [eax + 0xc]
push edi
push 5
push edi
push dword [ebp - 0x18c]
push dword [ebp - 0x140]
call fcn.2388dc03
add esp, 0x18
lea ecx, [ebp - 0x170]
call fcn.23814393
cmp dword [ebp - 0x118], edi
jmp 0x2389d3fc
push dword [0x2397b394]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x3e
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x204]
sbb bl, bl
mov byte [ebp - 4], 0x2e
call fcn.238143f2
inc bl
je 0x2389de02
push dword [0x2397b394]
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x3f
call fcn.2386d68c
lea ecx, [ebp - 0x1d8]
mov edi, eax
mov byte [ebp - 4], 0x2e
call fcn.238143f2
cmp edi, 0xfffffffd
je 0x2389ddff
cmp edi, 0xfffffffb
je 0x2389ddff
cmp edi, 0xfffffffc
jne 0x2389de02
mov dword [esi + 0x58], edi
push dword [0x2397b398]
lea eax, [ebp - 0x188]
lea ebx, [esi + 0x60]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebx], 0
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x40
call fcn.23845cb8
cmp eax, 3
lea ecx, [ebp - 0x188]
sete byte [ebp - 0x111]
mov byte [ebp - 4], 0x2e
call fcn.238143f2
cmp byte [ebp - 0x111], 0
je 0x2389deea
push dword [0x2397b398]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x41
call fcn.238743bd
lea eax, [ebp - 0x4c]
xor edi, edi
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x42
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x30], 0
call fcn.238c2799
cmp dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0x30]
mov byte [ebp - 4], 0x43
jae 0x2389dea8
lea eax, [ebp - 0x30]
push edi
push 0xff
push eax
push 0x100
push ebx
call fcn.238c2799
add esp, 0x14
push edi
push 1
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x42
call fcn.238c2799
push edi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0x41
call fcn.238c2799
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x2e
call fcn.238143f2
push dword [0x2397b39c]
xor eax, eax
inc eax
mov word [esi + 0x160], ax
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x44
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x1d8]
sbb bl, bl
mov byte [ebp - 4], 0x2e
call fcn.238143f2
inc bl
je 0x2389df71
push dword [0x2397b39c]
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x45
call fcn.2386d68c
lea ecx, [ebp - 0x204]
mov edi, eax
mov byte [ebp - 4], 0x2e
call fcn.238143f2
cmp edi, 7
ja 0x2389df71
mov word [esi + 0x160], di
push dword [0x2397b3a0]
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
lea ecx, [ebp - 0x194]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x46
call fcn.238155a3
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x47
call fcn.238c2799
lea ecx, [ebp - 0x194]
call fcn.23814393
lea ecx, [ebp - 0x188]
mov byte [ebp - 4], 0x4a
call fcn.238143f2
lea ecx, [ebp - 0x12c]
call fcn.2383abca
test ax, ax
je 0x2389e38e
lea ecx, [ebp - 0x12c]
call fcn.2383ab5d
cmp eax, 4
jb 0x2389e38e
push 0
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
or dword [ebp - 0x108], 4
mov ecx, eax
mov byte [ebp - 4], 0x4b
call fcn.23845cb8
xor edi, edi
inc edi
cmp eax, edi
jne 0x2389e0ae
push edi
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
or dword [ebp - 0x108], 8
mov ecx, eax
mov dword [ebp - 4], 0x4c
call fcn.23845cb8
cmp eax, edi
jne 0x2389e0ae
push 2
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
or dword [ebp - 0x108], 0x10
mov ecx, eax
mov dword [ebp - 4], 0x4d
call fcn.23845cb8
cmp eax, edi
jne 0x2389e0ae
push 3
lea eax, [ebp - 0x204]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
or dword [ebp - 0x108], 0x20
mov ecx, eax
mov dword [ebp - 4], 0x4e
call fcn.23845cb8
cmp eax, edi
jne 0x2389e0ae
mov bl, 1
jmp 0x2389e0b0
xor bl, bl
test byte [ebp - 0x108], 0x20
je 0x2389e0cb
and dword [ebp - 0x108], 0xffffffdf
lea ecx, [ebp - 0x204]
call fcn.238143f2
test byte [ebp - 0x108], 0x10
je 0x2389e0e6
and dword [ebp - 0x108], 0xffffffef
lea ecx, [ebp - 0x1d8]
call fcn.238143f2
test byte [ebp - 0x108], 8
je 0x2389e101
and dword [ebp - 0x108], 0xfffffff7
lea ecx, [ebp - 0x1bc]
call fcn.238143f2
test byte [ebp - 0x108], 4
mov dword [ebp - 4], 0x4a
je 0x2389e123
and dword [ebp - 0x108], 0xfffffffb
lea ecx, [ebp - 0x9c]
call fcn.238143f2
test bl, bl
je 0x2389e38e
push 0
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
mov edi, eax
or dword [ebp - 0x108], 0x40
push 2
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x4f
call fcn.2381d8ef
mov ebx, eax
or dword [ebp - 0x108], 0x80
mov ecx, edi
mov dword [ebp - 4], 0x50
call fcn.23873bce
fstp qword [ebp - 0x148]
mov ecx, ebx
call fcn.23873bce
fcomp qword [ebp - 0x148]
fnstsw ax
test ah, 0x41
jne 0x2389e201
push 1
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
mov ebx, eax
or dword [ebp - 0x108], 0x100
push 3
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x12c]
mov dword [ebp - 4], 0x51
call fcn.2381d8ef
mov edi, eax
or dword [ebp - 0x108], 0x200
mov ecx, ebx
mov dword [ebp - 4], 0x52
call fcn.23873bce
fstp qword [ebp - 0x148]
mov ecx, edi
call fcn.23873bce
fcomp qword [ebp - 0x148]
fnstsw ax
test ah, 5
jp 0x2389e201
mov bl, 1
jmp 0x2389e203
xor bl, bl
test dword [ebp - 0x108], 0x200
je 0x2389e224
and dword [ebp - 0x108], 0xfffffdff
lea ecx, [ebp - 0xb8]
call fcn.238143f2
test dword [ebp - 0x108], 0x100
je 0x2389e242
and dword [ebp - 0x108], 0xfffffeff
lea ecx, [ebp - 0x64]
call fcn.238143f2
test byte [ebp - 0x108], 0x80
je 0x2389e25d
and dword [ebp - 0x108], 0xffffff7f
lea ecx, [ebp - 0x80]
call fcn.238143f2
test byte [ebp - 0x108], 0x40
mov dword [ebp - 4], 0x4a
je 0x2389e27f
and dword [ebp - 0x108], 0xffffffbf
lea ecx, [ebp - 0x25c]
call fcn.238143f2
test bl, bl
je 0x2389e38e
mov ebx, dword [ebp - 0x214]
push 0
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x12c]
mov dword [esi + 0x170], ebx
call fcn.2381d8ef
mov ecx, eax
mov byte [ebp - 4], 0x53
call fcn.23873bce
fmul qword [0x2391fd88]
fadd qword [0x23915538]
call fcn.23906e20
lea ecx, [ebp - 0x244]
mov dword [ebx], eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
push 1
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
mov ecx, eax
mov byte [ebp - 4], 0x54
call fcn.23873bce
fmul qword [0x2391fd88]
fadd qword [0x23915538]
call fcn.23906e20
lea ecx, [ebp - 0x160]
mov dword [ebx + 4], eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
push 2
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
mov ecx, eax
mov byte [ebp - 4], 0x55
call fcn.23873bce
fmul qword [0x2391fd88]
fadd qword [0x23915538]
call fcn.23906e20
lea ecx, [ebp - 0x48]
mov dword [ebx + 8], eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
push 3
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x12c]
call fcn.2381d8ef
mov ecx, eax
mov byte [ebp - 4], 0x56
call fcn.23873bce
fmul qword [0x2391fd88]
fadd qword [0x23915538]
call fcn.23906e20
lea ecx, [ebp - 0x2c]
mov dword [ebx + 0xc], eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
mov edi, dword [ebp - 0x21c]
push dword [0x2397b3a4]
lea eax, [ebp - 0x48]
mov dword [esi + 0x164], edi
and dword [edi + 4], 0
push eax
lea ecx, [ebp - 0x110]
mov dword [edi], 0x10
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x57
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e414
push dword [0x2397b3a4]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x58
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
cmp ebx, 0x90
ja 0x2389e414
mov dword [edi + 4], ebx
push dword [0x2397b3a8]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi + 8], 0x10000
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x59
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e4ca
push dword [0x2397b3a8]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5a
call fcn.23873bce
fstp qword [ebp - 0x124]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x4a
call fcn.238143f2
fld qword [ebp - 0x124]
fcomp qword [0x239208b0]
fnstsw ax
test ah, 1
jne 0x2389e4ca
fld qword [ebp - 0x124]
fcomp qword [0x239208a8]
fnstsw ax
test ah, 0x41
jp 0x2389e4ca
fld qword [ebp - 0x124]
fmul qword [0x2391fd88]
fadd qword [0x23915538]
call fcn.23906e20
mov dword [edi + 8], eax
push dword [0x2397b3ac]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5b
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
push dword [0x2397b3ac]
lea ecx, [ebp - 0x110]
je 0x2389e525
lea eax, [ebp - 0x2c]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5c
call fcn.23873b68
lea ecx, [ebp - 0x2c]
jmp 0x2389e57f
lea eax, [ebp - 0x160]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5d
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e58e
push dword [0x2397b3ac]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5e
call fcn.2386d68c
neg eax
sbb eax, eax
neg eax
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x4a
mov word [edi + 0xc], ax
call fcn.238143f2
jmp 0x2389e594
xor eax, eax
mov word [edi + 0xc], ax
push dword [0x2397b3b0]
xor eax, eax
mov word [edi + 0xe], ax
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x5f
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x244]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e60e
push dword [0x2397b3b0]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x60
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
cmp ebx, 2
ja 0x2389e60e
mov word [edi + 0xe], bx
mov edi, dword [ebp - 0x20c]
push dword [0x2397b40c]
lea eax, [ebp - 0x48]
mov dword [esi + 0x380], edi
push eax
lea ecx, [ebp - 0x110]
mov dword [edi], 0x20
mov dword [edi + 4], 1
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x61
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e697
push dword [0x2397b40c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x62
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
lea eax, [ebx - 2]
cmp eax, 0x61
ja 0x2389e697
mov dword [edi + 4], ebx
push dword [0x2397b410]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi + 8], 1
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x63
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e714
push dword [0x2397b410]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
lea eax, [ebx - 2]
cmp eax, 0x61
ja 0x2389e714
mov dword [edi + 8], ebx
push dword [0x2397b414]
xor eax, eax
mov word [edi + 0xc], ax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x65
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e788
push dword [0x2397b414]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x66
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x4a
call fcn.238143f2
cmp ebx, 3
ja 0x2389e788
mov word [edi + 0xc], bx
push dword [0x2397b418]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x67
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
push dword [0x2397b418]
lea ecx, [ebp - 0x110]
je 0x2389e7e9
lea eax, [ebp - 0x2c]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x68
call fcn.23873b68
lea ecx, [ebp - 0x2c]
jmp 0x2389e843
lea eax, [ebp - 0x48]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x69
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e852
push dword [0x2397b418]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x6a
call fcn.2386d68c
neg eax
sbb eax, eax
neg eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x4a
mov word [edi + 0xe], ax
call fcn.238143f2
jmp 0x2389e858
xor eax, eax
mov word [edi + 0xe], ax
push dword [0x2397b41c]
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x6b
call fcn.23845cb8
mov ebx, eax
neg ebx
lea ecx, [ebp - 0x244]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
push dword [0x2397b41c]
lea ecx, [ebp - 0x110]
je 0x2389e8b9
lea eax, [ebp - 0x2c]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x6c
call fcn.23873b68
lea ecx, [ebp - 0x2c]
jmp 0x2389e913
lea eax, [ebp - 0x48]
push eax
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x6d
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x4a
call fcn.238143f2
inc bl
je 0x2389e922
push dword [0x2397b41c]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x6e
call fcn.2386d68c
neg eax
sbb eax, eax
neg eax
lea ecx, [ebp - 0x160]
mov byte [ebp - 4], 0x4a
mov word [edi + 0x10], ax
call fcn.238143f2
jmp 0x2389e928
xor eax, eax
mov word [edi + 0x10], ax
push dword [0x2397b440]
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
lea ecx, [ebp - 0x148]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x6f
call fcn.238155a3
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x70
call fcn.238c2799
lea ecx, [ebp - 0x148]
call fcn.23814393
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x73
call fcn.238143f2
lea ecx, [ebp - 0x13c]
call fcn.2381c53c
cmp eax, 2
jne 0x2389eb5f
push dword [0x2397b444]
xor eax, eax
mov word [edi + 0x12], ax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x74
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x2c]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ea0a
push dword [0x2397b444]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x75
call fcn.2386d68c
lea ecx, [ebp - 0x48]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 3
ja 0x2389ea0a
mov word [edi + 0x12], bx
push dword [0x2397b448]
xor eax, eax
inc eax
mov word [edi + 0x14], ax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x76
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ea85
push dword [0x2397b448]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x77
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 2
ja 0x2389ea85
mov word [edi + 0x14], bx
push dword [0x2397b44c]
and dword [edi + 0x18], 0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x78
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389eaef
push dword [0x2397b44c]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x79
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov dword [edi + 0x18], eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
push dword [0x2397b450]
or dword [edi + 0x1c], 0xffffffff
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7a
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389eb5f
push dword [0x2397b450]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x13c]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7b
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov dword [edi + 0x1c], eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
mov edi, dword [ebp - 0x210]
push dword [0x2397b3cc]
lea eax, [ebp - 0x48]
mov dword [esi + 0x168], edi
and dword [edi + 4], 0
push eax
lea ecx, [ebp - 0x110]
mov dword [edi], 0x18
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7c
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ebdb
push dword [0x2397b3cc]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7d
call fcn.23873b9c
lea ecx, [ebp - 0x2c]
mov dword [edi + 4], eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
push dword [0x2397b3b4]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi + 8], 0x64
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7e
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ec55
push dword [0x2397b3b4]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x7f
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 0x64
ja 0x2389ec55
mov dword [edi + 8], ebx
push dword [0x2397b3b8]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi + 0xc], 0x4b0
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x80
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ecce
push dword [0x2397b3b8]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x81
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
lea eax, [ebx - 1]
cmp eax, 0x257f
ja 0x2389ecce
mov dword [edi + 0xc], ebx
push dword [0x2397b3bc]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi + 0x10], 0x12c
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x82
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ed4d
push dword [0x2397b3bc]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x83
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
lea eax, [ebx - 1]
cmp eax, 0x257f
ja 0x2389ed4d
mov dword [edi + 0x10], ebx
mov edi, dword [ebp - 0x218]
push dword [0x2397b3c0]
xor eax, eax
mov dword [esi + 0x16c], edi
mov word [edi + 4], ax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
mov dword [edi], 0xc
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x84
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389edd3
push dword [0x2397b3c0]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x85
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 2
ja 0x2389edd3
mov word [edi + 4], bx
push dword [0x2397b3c4]
xor eax, eax
mov word [edi + 6], ax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x86
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389ee4d
push dword [0x2397b3c4]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x87
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 2
ja 0x2389ee4d
mov word [edi + 6], bx
push dword [0x2397b3c8]
xor eax, eax
mov word [edi + 8], ax
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x88
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389eec1
push dword [0x2397b3c8]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x89
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov ebx, eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
cmp ebx, 2
ja 0x2389eec1
mov word [edi + 8], bx
xor edi, edi
cmp word [esi + 0x3a], di
jne 0x2389eee5
lea eax, [esi + 0x504]
mov dword [esi + 0x20], eax
mov dword [eax], 0xaec
xor eax, eax
cmp word [esi + 4], di
sete al
mov word [esi + 0x38], ax
push dword [0x2397b370]
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ebx, 0x400
or dword [ebp - 0x108], ebx
mov ecx, eax
mov byte [ebp - 4], 0x8a
call fcn.23845cb8
cmp eax, 3
jne 0x2389efc4
push dword [0x2397b370]
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
or dword [ebp - 0x108], 0x800
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
mov dword [ebp - 4], 0x8b
call fcn.238743bd
or dword [ebp - 0x108], 0x1000
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0x84]
mov dword [ebp - 4], 0x8c
mov dword [ebp - 0x70], 0xf
mov dword [ebp - 0x74], edi
mov byte [ebp - 0x84], 0
call fcn.238c2799
or dword [ebp - 0x108], 0x2000
cmp dword [ebp - 0x70], 0x10
mov eax, dword [ebp - 0x84]
mov dword [ebp - 4], 0x8d
jae 0x2389efaa
lea eax, [ebp - 0x84]
push edi
push SysReAllocString
push eax
call fcn.238c2799
add esp, 0xc
mov byte [ebp - 0x111], 1
test eax, eax
jne 0x2389efcb
mov byte [ebp - 0x111], 0
test dword [ebp - 0x108], 0x2000
mov dword [ebp - 4], 0x8c
je 0x2389eff6
and dword [ebp - 0x108], 0xffffdfff
push edi
push 1
lea ecx, [ebp - 0x84]
call fcn.238c2799
test dword [ebp - 0x108], 0x1000
mov dword [ebp - 4], 0x8b
je 0x2389f021
and dword [ebp - 0x108], 0xffffefff
push edi
push 1
lea ecx, [ebp - 0xbc]
call fcn.238c2799
test dword [ebp - 0x108], 0x800
je 0x2389f042
and dword [ebp - 0x108], 0xfffff7ff
lea ecx, [ebp - 0x160]
call fcn.238143f2
mov dword [ebp - 4], 0x73
test dword [ebp - 0x108], ebx
je 0x2389f05c
lea ecx, [ebp - 0x25c]
call fcn.238143f2
cmp byte [ebp - 0x111], 0
je 0x2389f25a
push dword [0x2397b370]
lea eax, [esi + 0x504]
mov dword [esi + 0x20], eax
mov dword [eax], 0xaec
xor eax, eax
cmp word [esi + 4], di
lea ecx, [ebp - 0x110]
sete al
mov word [esi + 0x38], ax
xor eax, eax
mov word [esi + 0x3a], ax
lea eax, [ebp - 0x2c]
push eax
call fcn.238153d9
lea ecx, [ebp - 0xa0]
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x8e
call fcn.238743bd
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x8f
mov dword [ebp - 0x54], 0xf
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x68], 0
call fcn.238c2799
cmp dword [ebp - 0x54], 0x10
mov edx, dword [ebp - 0x68]
mov byte [ebp - 4], 0x90
jae 0x2389f0e3
lea edx, [ebp - 0x68]
mov eax, dword [esi + 0x20]
push edi
mov ecx, 0xdd
push ecx
push edx
add eax, 0xe1
push ecx
push eax
call fcn.238c2799
add esp, 0x14
push edi
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x8f
call fcn.238c2799
push edi
push 1
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x8e
call fcn.238c2799
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x73
call fcn.238143f2
push dword [0x2397b3e4]
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x110]
mov dword [esi + 0x498], 1
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x93
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x48]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238143f2
inc bl
je 0x2389f19d
push dword [0x2397b3e4]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x94
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x498], eax
mov byte [ebp - 4], 0x73
call fcn.238143f2
push dword [0x2397b3e8]
xor eax, eax
mov word [esi + 0x49c], ax
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x110]
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x95
call fcn.23845cb8
lea ebx, [eax - 1]
neg ebx
lea ecx, [ebp - 0x160]
sbb bl, bl
call fcn.238143f2
inc bl
je 0x2389f3dc
mov eax, dword [0x239840b0]
push 0x238c90c3
push 0
mov byte [ebp - 4], 0x96
call dword [eax + 8]
pop ecx
pop ecx
push dword [0x2397b3e8]
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0x97
call fcn.238153d9
mov ecx, eax
mov byte [ebp - 4], 0x98
call fcn.2386d68c
lea ecx, [ebp - 0x2c]
mov edi, eax
call fcn.238143f2
cmp edi, 3
ja 0x2389f242
mov eax, fcn.23803921
test eax, eax
je 0x2389f23b
push edi
call fcn.238c2799
pop ecx
mov word [esi + 0x49c], di
mov eax, dword [0x239840b0]
mov byte [ebp - 4], 0x96
call dword [eax + 0xc]
mov dword [ebp - 4], 0x73
jmp 0x2389f3dc
lea ecx, [ebp - 0x118]
call fcn.2381cf81
test al, al
jne 0x2389f12a
xor eax, eax
test byte [0x23982b34], 1
mov word [esi + 0x38], ax
jne 0x2389f315
or dword [0x23982b34], 1
mov eax, dword [0x239840b0]
push str.Batch
mov byte [ebp - 4], 0x91
call dword [eax + 0x14]
mov word [0x23982b24], ax
mov eax, dword [0x239840b0]
mov ebx, str.Exec
push ebx
call dword [eax + 0x14]
mov word [0x23982b26], ax
mov eax, dword [0x239840b0]
push str.Console
call dword [eax + 0x14]
mov word [0x23982b28], ax
mov eax, dword [0x239840b0]
push ebx
call dword [eax + 0x14]
mov word [0x23982b2a], ax
mov eax, dword [0x239840b0]
push 0x2391e81c
call dword [eax + 0x14]
mov word [0x23982b2c], ax
mov eax, dword [0x239840b0]
push str.Init
call dword [eax + 0x14]
mov word [0x23982b2e], ax
mov eax, 0xffff
mov ecx, eax
add esp, 0x18
mov word [0x23982b30], cx
mov word [0x23982b32], ax
mov byte [ebp - 4], 0x73
push dword [ebp - 0x140]
lea ecx, [ebp - 0x198]
call fcn.238c2799
mov eax, dword [eax]
push 1
push 0x23982b24
push eax
mov byte [ebp - 4], 0x92
call fcn.238c2799
mov bx, ax
add esp, 0xc
neg bx
lea ecx, [ebp - 0x198]
sbb bl, bl
mov byte [ebp - 4], 0x73
call fcn.238144ab
inc bl
je 0x2389f12a
mov eax, dword [0x239840ac]
push esi
call dword [eax + 0xc]
push edi
push 0xb
push edi
push dword [ebp - 0x18c]
push dword [ebp - 0x140]
call fcn.2388dc03
add esp, 0x18
lea ecx, [ebp - 0x13c]
call fcn.23814393
lea ecx, [ebp - 0x12c]
call fcn.23814393
lea ecx, [ebp - 0x170]
call fcn.23814393
mov byte [ebp - 4], 0
cmp dword [ebp - 0x118], edi
je 0x2389f3b5
push dword [ebp - 0x118]
call fcn.238c2799
pop ecx
xor esi, esi
lea ecx, [ebp - 0x110]
call fcn.23814393
mov eax, esi
jmp 0x2389d41b
lea ecx, [ebp - 0x13c]
call fcn.23814393
lea ecx, [ebp - 0x12c]
call fcn.23814393
lea ecx, [ebp - 0x170]
call fcn.23814393
cmp dword [ebp - 0x118], 0
mov byte [ebp - 4], 0
je 0x2389f3b7
push dword [ebp - 0x118]
call fcn.238c2799
pop ecx
jmp 0x2389f3b7