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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0xb8]
cmp ecx, 0x33
mov ebx, dword [esp + 0xa8]
je 0x7830a0
cmp ecx, 0x34
je 0x783112
cmp ecx, 0x35
jne 0x783162
mov eax, 0x5c1a67c1
mov ecx, 0x7be9f98f
add ecx, eax
add cl, 4
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
test edx, edx
je 0x783208
mov dword [esp + 0x38], ecx
movzx ecx, cl
sub ecx, eax
add cl, 0x7a
movzx eax, cl
cmp eax, 0xd
jne 0x783242
mov ebx, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x37], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
cmp ebx, 1
mov ecx, dword [esp + 0x38]
jne 0x783229
mov eax, ebx
not eax
and eax, 1
add eax, ebx
je 0x783229
mov dword [esp + 0x44], 0x124
mov dword [esp + 0x40], 0x8067ea
jmp case.0x784112.1
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
test edx, edx
setne al
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
setne cl
and cl, al
mov byte [esp + 0x30], cl
je 0x783274
mov eax, 0x7be9f98f
add al, 0x79
movzx eax, al
cmp eax, 0x15
jne 0x78326e
mov eax, 0xd
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x37], cl
mov byte [esp + 0x44], cl
mov byte [esp + 0x4b], cl
mov dword [esp + 0x3c], ecx
jmp 0x7837fd
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
test edx, edx
setne al
mov ecx, edx
and ecx, 1
xor ecx, edx
cmp ecx, 0xffffffff
setne cl
and cl, al
mov byte [esp + 0x4c], cl
movzx eax, cl
mov dword [esp + 0x50], eax
cmp eax, 1
jne 0x7831d7
mov eax, 0x17
mov dword [edx], 0
jmp 0x783d66
mov esi, ebx
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
test edx, edx
setne al
mov ecx, edx
not ecx
and ecx, 1
add ecx, edx
setne bl
and bl, al
movzx eax, bl
cmp eax, 1
jne 0x7831a3
mov dword [edx], 0
xor edi, edi
mov eax, esi
cmp eax, 9
mov ecx, dword [esp + 0xa0]
ja case.default.0x7831c1
mov esi, 0x124
mov ebp, 0x8067ea
jmp dword [eax*4 + 0x7ec820]
mov esi, 0x211
mov ebp, 0x80690e
jmp case.0x7831c1.1
mov eax, 0x7be9f98f
add eax, 0x84160677
cmp eax, 6
je 0x783c28
imul eax, eax
and eax, 3
cmp eax, 3
je 0x783c28
mov esi, 0x117
mov ebp, 0x806e6c
jmp case.0x783c4c.1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x37], al
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
jmp 0x7840ac
mov eax, dword [esp + 0xb8]
mov dword [eax], 0
mov ebx, dword [esp + 0xa8]
jmp 0x7840ac
mov eax, 0x10
mov dword [edx], 0
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4c], cl
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], esi
jmp 0x784042
mov dword [edx], 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], eax
mov byte [esp + 0x44], al
mov byte [esp + 0x4b], al
jmp 0x78347b
cmp eax, 0x66
jne case.0x7831c1.5
mov esi, 0x29e
mov ebp, 0x80767e
jmp case.0x7831c1.1
mov edi, 0x70000038
jmp case.0x7831c1.0
mov esi, 0x117
mov ebp, 0x806e6c
jmp case.0x7831c1.1
mov esi, 0x2fa
mov ebp, 0x806f83
jmp case.0x7831c1.1
mov esi, 0x10f
mov ebp, 0x806b1f
jmp case.0x7831c1.1
mov esi, 0x86
mov ebp, 0x806c2e
jmp case.0x7831c1.1
mov esi, 0x14c
mov ebp, 0x806cb4
test ecx, ecx
jne 0x7832f7
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne case.0x7831c1.0
cmp dword [esp + 0x54], 0
jne 0x783316
mov eax, dword [esp + 0x54]
imul eax, eax
and eax, 3
mov edi, 0x700002d0
cmp eax, 2
jb case.0x7831c1.0
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov edi, ecx
call fcn.0063c500
mov ecx, edi
test eax, eax
je 0x783354
imul eax, eax
and eax, 3
mov edi, 0x700002d1
cmp eax, 2
jne case.0x7831c1.0
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c500
mov edi, 0x700002d2
test eax, eax
jne case.0x7831c1.0
mov ecx, 3
sub ecx, eax
xor ecx, eax
je case.0x7831c1.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx edx, cl
xor ecx, ecx
cmp eax, edx
mov edi, 0x700002d3
cmove edi, ecx
jne case.0x7831c1.0
xor bl, 1
je 0x78341c
jmp case.0x7831c1.0
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
adc ecx, 0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0xb8]
mov dword [edx], eax
xor edi, edi
mov eax, ecx
and eax, 1
xor eax, ecx
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp ecx, eax
jb 0x7833ff
mov eax, dword [esp + 0x84]
test eax, eax
jne 0x783448
mov ecx, eax
and ecx, 1
xor ecx, eax
not ecx
test ecx, ecx
jne 0x783450
mov dword [esp], eax
call fcn.0063bfd0
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x783466
mov ecx, 3
sub ecx, eax
xor ecx, eax
jne 0x78346e
mov dword [esp], eax
call fcn.0063bfd0
mov eax, edi
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x2c], ebx
mov ebp, 0x15
mov eax, 2
xor ebx, ebx
mov dword [esp + 0x50], 0x124
mov dword [esp + 0x4c], 0x8067ea
mov byte [esp + 0x37], 0x76
mov edi, dword [esp + 0xa8]
cmp edi, 9
ja case.default.0x7834bb
mov ecx, 0x10
mov edx, 8
mov esi, 0xf
jmp dword [edi*4 + 0x7ec7a8]
mov dword [esp + 0x50], 0x10f
mov dword [esp + 0x4c], 0x806b1f
jmp case.0x7834bb.1
cmp edi, 0x66
jne case.0x7834bb.5
mov cl, 1
jmp 0x783516
mov eax, 0x11
mov edx, ebx
not edx
and edx, 1
add edx, ebx
setne dl
movzx edx, dl
add ebx, edx
mov dword [esp + 0x50], 0x29e
mov dword [esp + 0x4c], 0x80767e
test ebx, ebx
je 0x7834f0
test cl, cl
je 0x7834f0
cmp eax, 2
je 0x78352d
xor eax, eax
test al, al
je case.0x7834bb.1
xor ebx, ebx
mov dword [esp + 0x50], 0x2fa
mov dword [esp + 0x4c], 0x806f83
mov esi, 4
jmp 0x7838ce
mov dword [esp + 0x50], 0x86
mov dword [esp + 0x4c], 0x806c2e
jmp case.0x7834bb.1
mov eax, 2
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
adc ecx, 0
mov edi, 0x211
mov ebx, 0x80690e
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x783560
cmp eax, 2
je 0x7835b5
xor eax, eax
test al, al
jne 0x7835b5
mov dword [esp + 0x50], 0x14c
mov dword [esp + 0x4c], 0x806cb4
mov byte [esp + 0x37], 0x45
jmp case.0x7834bb.1
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], edi
xor ebx, ebx
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x7835f3
mov eax, 9
imul ecx, ecx
and ecx, 3
cmp ecx, 2
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
jne 0x7838b1
jmp 0x7837c9
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], eax
jmp 0x7837c9
mov ecx, dword [esp + 0x54]
test ecx, ecx
mov ebx, 0x700002d0
je 0x7837c9
xor eax, eax
test al, al
jne 0x7837c9
mov al, 0x1f
movzx eax, al
cmp eax, 0x27
jne 0x783639
mov eax, 7
mov ebx, 0x700002d0
jmp 0x783692
mov esi, 0x13
mov byte [esp + 0x44], 0x1f
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
cmp eax, ecx
jne 0x783684
mov al, byte [esp + 0x37]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
jmp 0x783966
mov eax, 0x10
mov ebx, 0x700002d1
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x54], ecx
cmp eax, 7
jne 0x7837c9
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x7837c9
mov byte [esp + 0x44], 0x1f
lea eax, [esp + 0x78]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0063c500
mov ebx, 0x700002d1
test eax, eax
jne 0x7837c9
jmp 0x78398a
mov byte [esp + 0x4b], 0x60
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x70]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
xor edx, edx
cmp eax, ecx
mov ebx, 0x700002d3
cmove ebx, edx
jne 0x7837c9
mov al, byte [esp + 0x30]
xor al, 1
test al, 1
jne 0x7837c9
xor ecx, ecx
mov ebp, dword [esp + 0xb8]
jmp 0x783792
mov eax, 0xf
mov edx, ecx
or edx, 2
mov esi, ecx
xor esi, 2
add esi, edx
setne dl
movzx edx, dl
add ecx, edx
mov edx, dword [esp + 0x70]
mov dword [ebp], edx
xor ebx, ebx
mov edx, 3
sub edx, ecx
xor edx, ecx
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x783770
cmp eax, 0xf
je 0x7837c9
mov esi, 0xf
mov dword [esp + 0x50], 0x14c
mov dword [esp + 0x4c], 0x806cb4
mov byte [esp + 0x37], 0x3a
jmp 0x783a34
mov eax, 5
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x7837ed
mov edx, ecx
imul edx, edx
and edx, 3
cmp edx, 2
je 0x7837f6
mov dword [esp], ecx
call fcn.0063bfd0
jmp 0x783802
mov edx, dword [esp + 0xb8]
jmp 0x7837fd
mov edx, dword [esp + 0xb8]
cmp eax, 5
jne 0x78381e
mov eax, 0x1d
mov edx, dword [esp + 0x74]
test edx, edx
jne 0x783829
mov ecx, edx
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb 0x783841
jmp 0x783829
mov dword [edx], 0
jmp 0x78347b
cmp eax, 0x10
je 0x783848
imul eax, eax
and eax, 3
cmp eax, 2
je 0x783848
mov dword [esp], edx
call fcn.0063bfd0
mov eax, ebx
jmp 0x783470
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x38], edx
mov ebp, 0xd
mov esi, 5
mov byte [esp + 0x44], 0x1f
mov byte [esp + 0x4b], 0x41
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ebx, 0x700002d2
test eax, eax
jne 0x7838ce
cmp ebp, 0xd
je 0x783bcf
imul ebp, ebp
and ebp, 3
cmp ebp, 2
je 0x783bcf
mov ebx, 0x70000038
mov eax, 0xa
cmp eax, 9
je 0x783608
imul eax, eax
and eax, 3
cmp eax, 3
jne 0x7837c9
jmp 0x783608
cmp esi, 4
je case.0x7834bb.1
xor eax, eax
test al, al
je 0x7837c9
jmp case.0x7834bb.1
mov bl, 0x76
add eax, ecx
setne al
movzx eax, al
add ecx, eax
mov dword [esp + 0x50], 0x14c
mov dword [esp + 0x4c], 0x806cb4
mov eax, ecx
not eax
and eax, 1
mov edx, ecx
add edx, eax
setne dl
movzx edx, dl
cmp ecx, edx
jb 0x7838e6
mov byte [esp + 0x37], bl
jmp case.0x7834bb.1
mov eax, 0x1a
movzx edx, byte [esp + 0x37]
cmp edx, 3
je 0x7837a5
cmp edx, 0x3a
je 0x78394f
mov eax, 0xc
cmp edx, 0x45
jne 0x783955
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
jmp 0x783593
mov bl, byte [esp + 0x37]
jmp 0x783902
mov esi, 0x10
mov ecx, 0x14c
mov edx, 0x806cb4
mov al, 3
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], ecx
mov byte [esp + 0x37], al
cmp esi, 0x10
je case.0x7834bb.1
imul esi, esi
and esi, 3
cmp esi, 3
je case.0x7834bb.1
mov eax, 0x10
movzx edx, byte [esp + 0x44]
cmp edx, 6
mov ebx, dword [esp + 0x2c]
je 0x7839dc
cmp edx, 0x1f
je 0x7839e5
mov ecx, 0x13
mov eax, 4
cmp edx, 0x78
jne 0x783b58
cmp ecx, 0x10
jne 0x783a51
mov eax, ecx
not eax
and eax, 1
add eax, ecx
je 0x783a51
xor ecx, ecx
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
jmp 0x78357d
mov edx, dword [esp + 0x38]
jmp 0x783829
mov esi, 0x12
mov byte [esp + 0x44], 0x12
mov byte [esp + 0x4b], 0x41
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov ebx, 0x700002d2
cmp eax, ecx
je 0x783bb6
cmp esi, 0xf
jne 0x7837c9
mov eax, esi
not eax
and eax, 1
add eax, esi
jne case.0x7834bb.1
jmp 0x7837c9
mov esi, 9
mov byte [esp + 0x44], 0x78
mov byte [esp + 0x4b], 0x41
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
mov ebx, 0x700002d2
cmp eax, ecx
je 0x783bcf
cmp esi, 9
je 0x7837c9
xor ecx, ecx
test cl, cl
je 0x783920
jmp 0x7837c9
mov byte [esp + 0x4b], 0x41
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x70]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
test eax, eax
setne dl
mov ecx, eax
and ecx, 1
xor ecx, eax
cmp ecx, 0xffffffff
setne al
mov dh, byte [esp + 0x30]
mov cl, dh
and cl, 1
movzx ecx, cl
mov esi, ecx
not esi
and esi, 1
add esi, ecx
setne cl
xor esi, esi
and al, dl
mov ebx, 0x700002d3
cmove ebx, esi
test al, al
jne 0x7837c9
mov eax, 3
xor cl, dh
test cl, 1
jne 0x7837c9
cmp eax, 3
mov ecx, dword [esp + 0xa0]
je 0x78375c
xor eax, eax
test al, al
jne 0x78375c
mov esi, 4
mov byte [esp + 0x44], 6
mov byte [esp + 0x4b], 0x41
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov ebx, 0x700002d2
cmp eax, ecx
je 0x783bcf
mov ebx, 0x700002d2
cmp esi, 4
jne 0x783bcf
imul esi, esi
and esi, 3
cmp esi, 2
jb 0x7837c9
mov edx, 0x17
mov esi, 0xa
movzx eax, byte [esp + 0x4b]
cmp eax, 0x60
jne case.0x7834bb.0
cmp esi, 0xa
jne 0x783bf7
mov eax, esi
not eax
and eax, 1
add eax, esi
jne 0x783ab8
mov dword [esp + 0x50], 0x117
mov dword [esp + 0x4c], 0x806e6c
jmp case.0x7834bb.1
cmp edx, 8
je 0x7837c9
mov eax, edx
and eax, 1
inc eax
xor eax, edx
jne 0x7836e4
jmp 0x7837c9
mov edx, 0x1c
mov esi, 0x124
mov ebp, 0x8067ea
mov eax, 0x15
cmp ebx, 9
ja case.default.0x783c4c
mov ecx, 0x12
xor edi, edi
jmp dword [ebx*4 + 0x7ec780]
mov eax, 0x10
jmp 0x7831e1
mov ecx, 0x10
mov eax, edi
or eax, 2
mov edx, edi
xor edx, 2
add edx, eax
setne al
movzx eax, al
add edi, eax
mov esi, 0x211
mov ebp, 0x80690e
mov eax, 3
sub eax, edi
xor eax, edi
setne al
movzx eax, al
cmp edi, eax
jb 0x783c60
cmp ecx, 0x10
jne 0x783caa
imul ecx, ecx
and ecx, 3
cmp ecx, 2
jb case.0x783c4c.1
mov esi, 0x10f
mov ebp, 0x806b1f
jmp case.0x783c4c.1
mov eax, 7
mov ecx, edi
or ecx, 2
mov edx, edi
xor edx, 2
add edx, ecx
setne cl
movzx ecx, cl
add edi, ecx
mov esi, 0x86
mov ebp, 0x806c2e
mov ecx, edi
not ecx
and ecx, 1
add ecx, edi
setne cl
movzx ecx, cl
cmp edi, ecx
jb 0x783cc0
jmp 0x783cfd
cmp ebx, 0x66
jne case.0x783c4c.5
cmp eax, 7
jne 0x783d0d
mov ecx, eax
not ecx
and ecx, 1
add ecx, eax
jne case.0x783c4c.1
mov esi, 0x29e
mov ebp, 0x80767e
mov edx, 0x10
cmp edx, 0x10
je case.0x783c4c.1
mov edi, 0x70000038
jmp case.0x783c4c.0
mov esi, 0x2fa
mov ebp, 0x806f83
jmp case.0x783c4c.1
mov esi, 0x14c
mov ebp, 0x806cb4
xor edi, edi
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je case.0x783c4c.0
mov eax, 0xc
imul ecx, ecx
and ecx, 3
cmp ecx, 3
je case.0x783c4c.0
cmp eax, 0xc
jne 0x783c28
mov ecx, 3
sub ecx, eax
xor ecx, eax
je 0x783c28
mov edi, 0x700002d0
cmp dword [esp + 0x54], 0
je case.0x783c4c.0
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov edi, 0x700002d1
cmp eax, ecx
jne case.0x783c4c.0
mov eax, 0x1b
xor ebx, ebx
nop
cmp eax, 0x10
je 0x783e9b
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov edi, 0x700002d2
cmp eax, ecx
jne case.0x783c4c.0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x64]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx edx, cl
mov ecx, dword [esp + 0x50]
imul ecx, ecx
cmp ecx, 2
setb cl
cmp eax, edx
mov edi, 0
mov eax, 0x700002d3
cmovne edi, eax
jne case.0x783c4c.0
mov eax, 0x10
xor cl, byte [esp + 0x4c]
je 0x783dd0
jmp case.0x783c4c.0
xor edi, edi
jmp 0x783ebe
mov eax, ebx
not eax
and eax, 1
add eax, ebx
setne al
movzx eax, al
add ebx, eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xb8]
mov dword [ecx], eax
test ebx, ebx
je 0x783ea0
mov esi, 9
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x783ef0
mov dword [esp], eax
call fcn.0063bfd0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x78346e
mov esi, 0x19
mov dword [esp], eax
call fcn.0063bfd0
cmp esi, 9
je 0x783ed7
imul esi, esi
and esi, 3
cmp esi, 3
jne 0x78346e
jmp 0x783ed7
mov al, 0x54
cmp ebx, 9
ja case.default.0x784112
mov dword [esp + 0x38], eax
mov edi, ebx
mov ebx, 1
mov edx, 0xf
mov esi, 7
mov ecx, 8
mov al, 7
xor ebp, ebp
mov dword [esp + 0x44], 0x124
mov dword [esp + 0x40], 0x8067ea
jmp dword [edi*4 + 0x7ec7d0]
mov dword [esp + 0x38], eax
mov al, 9
cmp ebx, 0x66
jne case.0x784112.5
movzx eax, al
cmp eax, 0x4b
je 0x783f74
cmp eax, 0x7b
jne 0x783f74
mov ecx, 0x1a
mov dword [esp + 0x44], 0x29e
mov dword [esp + 0x40], 0x80767e
jmp case.0x784112.0
mov dword [esp + 0x44], 0x29e
mov dword [esp + 0x40], 0x80767e
jmp case.0x784112.1
mov ebp, 0x70000038
jmp 0x7842ed
mov eax, edx
or eax, 2
xor edx, 2
add edx, eax
je 0x78438a
mov eax, 0x13
xor ebp, ebp
jmp 0x78467c
mov ecx, dword [esp + 0x54]
test ecx, ecx
jne 0x783fd3
mov eax, ecx
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x783fd3
mov eax, 0xd
mov ebp, 0x700002d0
jmp 0x78417b
mov cl, 0x21
mov eax, 0x12
movzx ecx, cl
cmp ecx, 0x21
jne 0x784033
mov ebx, 0xe
mov esi, 0xf
mov byte [esp + 0x4c], 0x59
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx ecx, cl
mov ebp, 0x700002d1
cmp eax, ecx
jne 0x784352
jmp 0x78429c
mov ebx, dword [esp + 0xa8]
mov cl, byte [esp + 0x37]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x50], edx
mov byte [esp + 0x37], cl
cmp eax, 0x10
je 0x7840a2
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x7840a8
mov esi, 0xd
mov byte [esp + 0x4c], 0x59
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
sete cl
movzx ecx, cl
mov ebp, 0x700002d1
cmp eax, ecx
jne 0x7842ed
jmp 0x7845f9
mov ecx, dword [esp + 0x38]
jmp 0x7840ac
mov ecx, dword [esp + 0x38]
mov eax, 0x15
mov edx, ecx
movzx ecx, dl
cmp ecx, 0x54
jne 0x783f06
mov dword [esp + 0x38], edx
cmp eax, 6
je 0x7842ad
xor eax, eax
test al, al
mov ebp, 0
jne 0x7842ad
mov ebx, dword [esp + 0xa8]
mov al, 0x64
cmp ebx, 9
ja case.default.0x784112
mov dword [esp + 0x38], eax
mov ecx, 0xf
mov esi, 9
mov edx, 1
mov al, 7
mov dword [esp + 0x44], 0x124
mov dword [esp + 0x40], 0x8067ea
jmp dword [ebx*4 + 0x7ec7f8]
xor ebp, ebp
cmp ecx, 0xf
je 0x7842ed
xor eax, eax
test al, al
je case.0x784112.1
jmp 0x7842ed
mov dword [esp + 0x44], 0x2fa
mov dword [esp + 0x40], 0x806f83
mov esi, 0xc
cmp esi, 9
je 0x784234
xor eax, eax
test al, al
je case.0x784112.1
jmp 0x784234
movzx eax, al
cmp eax, 7
mov dword [esp + 0x44], 0x14c
mov dword [esp + 0x40], 0x806cb4
jmp case.0x784112.1
cmp eax, 0xd
je 0x784249
mov dword [esp + 0x54], ecx
mov ecx, eax
and ecx, 1
inc ecx
xor ecx, eax
je 0x7842ed
cmp dword [esp + 0xb8], 0
setne bl
mov esi, 0x13
mov byte [esp + 0x37], 0x67
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx edx, cl
movzx ecx, bl
imul ecx, ecx
cmp ecx, 2
setb cl
xor edi, edi
cmp eax, edx
mov ebp, 0x700002d3
cmove ebp, edi
jne case.0x783f3b.3
xor bl, cl
je 0x7842ad
cmp esi, 7
jne 0x7842ed
mov dword [esp + 0x44], 0x117
mov dword [esp + 0x40], 0x806e6c
jmp case.0x784112.1
mov dword [esp + 0x54], ecx
jmp 0x7842ed
mov byte [esp + 0x4c], 0x59
mov bl, 0x21
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
test eax, eax
je 0x78444a
imul eax, eax
and eax, 3
cmp eax, 2
je 0x78444a
mov ebx, 2
mov ebp, 0x700002d2
cmp ebx, 2
je 0x7842ed
xor eax, eax
test al, al
je 0x7845b4
jmp 0x7842ed
movzx eax, byte [esp + 0x37]
cmp eax, 0x32
je 0x7842ce
cmp eax, 0x67
mov ecx, dword [esp + 0xb8]
jne 0x7842e0
mov byte [esp + 0x37], 0x22
mov eax, dword [esp + 0x58]
jmp 0x7842e9
mov byte [esp + 0x37], 0x32
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xb8]
jmp 0x7842e9
mov byte [esp + 0x37], 0x67
mov eax, dword [esp + 0x58]
mov dword [ecx], eax
xor ebp, ebp
mov edx, 3
mov eax, dword [esp + 0x60]
test eax, eax
je 0x784318
mov dword [esp + 0x3c], eax
mov byte [esp + 0x4b], 0x26
mov eax, 0xb
xor ecx, ecx
test cl, cl
mov dword [esp + 0x50], ebp
je 0x7846b0
jmp case.0x784112.6
mov dword [esp + 0x3c], eax
mov byte [esp + 0x4b], 0x26
mov dword [esp + 0x50], ebp
mov eax, edx
and eax, 1
xor eax, edx
cmp eax, 0xffffffff
setne al
movzx eax, al
cmp edx, eax
jne 0x784696
mov dword [esp + 0x44], 0x10f
mov dword [esp + 0x40], 0x806b1f
mov esi, 6
cmp esi, 6
jne 0x7842ed
mov eax, esi
or eax, 2
xor esi, 2
add esi, eax
jne case.0x784112.1
jmp 0x7842ed
mov dword [esp], esi
call fcn.0063bfd0
mov eax, dword [esp + 0x50]
jmp 0x783470
mov ecx, 0xd
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x783f93
mov eax, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
xor ebp, ebp
cmp ecx, 8
je 0x7842ed
xor eax, eax
test al, al
je 0x783faf
jmp 0x7842ed
mov byte [esp + 0x4c], 0x15
mov bl, 0x21
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 2
sete cl
movzx ecx, cl
cmp eax, ecx
je 0x78444a
mov eax, 0x11
mov ebp, 0x700002d2
cmp eax, 4
jne 0x7842ed
imul eax, eax
and eax, 3
cmp eax, 2
jae 0x7842ed
mov byte [esp + 0x4c], 0xf
mov bl, 0x21
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp], eax
call fcn.0063c500
mov ebp, 0x700002d2
test eax, eax
jne 0x7842ed
movzx eax, bl
cmp eax, 0x42
je 0x7844fc
cmp eax, 0x68
jne 0x78450f
cmp dword [esp + 0xb8], 0
setne bl
mov byte [esp + 0x37], 0x67
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
mov ecx, eax
imul ecx, ecx
and ecx, 3
cmp ecx, 3
sete cl
movzx edx, cl
movzx ecx, bl
or ecx, 2
add ecx, ecx
setne cl
xor esi, esi
cmp eax, edx
mov ebp, 0x700002d3
cmove ebp, esi
jne 0x7842ed
mov eax, 6
xor bl, cl
je 0x7840c3
jmp 0x7842ed
mov ebp, 0x700002d2
mov eax, 0x13
mov ecx, dword [esp + 0x54]
jmp 0x78417b
mov byte [esp + 0x37], 0x67
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x58]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0063c9d0
cmp dword [esp + 0xb8], 0
sete dl
test eax, eax
mov ebp, 0x700002d3
cmove ebp, eax
jne 0x7842ed
mov ecx, 6
test dl, dl
jne 0x7842ed
cmp ecx, 6
jne case.0x783f3b.2
mov eax, ecx
and eax, 1
xor eax, ecx
not eax
test eax, eax
jne 0x7842ad
mov dword [esp + 0x44], 0x211
mov dword [esp + 0x40], 0x80690e
jmp case.0x784112.1
movzx ecx, byte [esp + 0x4c]
cmp ecx, 0xf
je 0x784252
mov eax, 4
mov edx, 0x12
cmp ecx, 0x59
je 0x7843fc
cmp edx, 0xf
je case.0x784112.7
xor eax, eax
test al, al
je 0x7843b4
mov dword [esp + 0x44], 0x86
mov dword [esp + 0x40], 0x806c2e
mov esi, 0xc
cmp esi, 0xc
je case.0x784112.1
xor eax, eax
test al, al
je 0x7845b4
jmp case.0x784112.1
mov edi, 0xf
mov bl, 0x6a
mov esi, dword [esp + 0x5c]
test esi, esi
jne 0x78462d
mov eax, esi
and eax, 1
xor eax, esi
not eax
test eax, eax
jne 0x78436d
cmp edi, 0xd
je 0x78436d
jmp 0x784650
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x78436d
mov bl, 0x6a
xor eax, eax
test al, al
jne 0x78436d
movzx eax, bl
cmp eax, 0x47
jne 0x784365
mov edi, 0xd
mov bl, 0x47
mov dword [esp], esi
call fcn.0063bfd0
jmp 0x78462d
mov eax, 7
mov bl, 0x6a
mov esi, dword [esp + 0x5c]
test esi, esi
jne 0x784650
cmp eax, 7
jne 0x7842ed
jmp 0x78436d
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.0063bfd0
mov al, byte [esp + 0x4b]
movzx ecx, al
cmp ecx, 0xf
je 0x78460d
mov eax, 0x16
cmp ecx, 0x6d
je 0x78466d
cmp eax, 0xb
jne 0x784638
imul eax, eax
and eax, 3
cmp eax, 2
jb 0x78468a
jmp 0x784638