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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc0
mov eax, dword [ebp + 8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
cmp dword [eax + 8], 0
je 0x697cf5
mov al, 0x39
mov ecx, 0xffffffff
movzx eax, al
cmp eax, 0x39
je 0x697d74
mov byte [esp + 0x78], 0x68
cmp eax, 0x75
jne 0x697e23
mov edi, 0xe2
add edi, 0xffffff30
mov eax, dword [ebp + 8]
lea eax, [eax + 4]
mov dword [esp + 0x28], eax
mov byte [esp + 0x79], dl
jmp 0x697c7b
mov eax, edi
mov bl, al
xor bl, 0x2b
mov bh, bl
add bh, 0x43
xor bl, bh
mov dl, bl
add dl, 0x22
add bl, 0x12
mov dh, bl
add dh, dl
add dh, 0xb4
mov al, dh
xor al, bl
xor al, 0x63
mov byte [esp + 0x79], al
xor al, dh
add al, 0xe2
add ecx, 1
jb 0x697c50
mov dword [esp + 0x64], 0
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], bh
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], dh
mov byte [esp + 0x25], dl
mov dword [esp + 0x58], eax
mov byte [esp + 0x37], al
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], eax
mov byte [esp + 0x4b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x77], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x57], al
mov dword [esp + 0x50], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x6c], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], eax
jmp case.0x697fd5.2
mov byte [esp + 0x78], 0x68
mov byte [esp + 0x37], al
mov byte [esp + 0x79], al
mov byte [esp + 0x27], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x25], al
mov byte [esp + 0x57], al
mov byte [esp + 0x7a], al
mov byte [esp + 0x26], al
mov byte [esp + 0x7b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x4a], al
mov byte [esp + 0x77], al
mov eax, 4
mov dword [esp + 0x58], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x7c], ecx
jmp 0x697ead
mov byte [esp + 0x78], 0x68
mov edi, 0xc1
add edi, 0xffffff53
mov eax, dword [ebp + 8]
lea edx, [eax + 4]
mov dword [esp + 0x28], edx
mov byte [esp + 0x7a], al
mov byte [esp + 0x7b], dl
jmp 0x697dc5
mov eax, edi
mov dh, al
add dh, 0x68
mov byte [esp + 0x7b], dh
xor dh, 0x1b
mov bh, dh
add bh, 0xf0
mov bl, dh
add bl, 0xb
mov al, dh
add al, 0xdf
mov dl, al
xor dl, 0x50
mov byte [esp + 0x7a], dl
add ecx, 1
jb 0x697da0
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], ecx
mov byte [esp + 0x37], cl
mov dword [esp + 0x70], ecx
mov dword [esp + 0x30], esi
mov byte [esp + 0x4b], dl
mov byte [esp + 0x43], dl
mov byte [esp + 0x77], dl
mov byte [esp + 0x4a], dl
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x4c], ecx
jmp 0x698037
mov byte [esp + 0x7b], 0x7c
mov byte [esp + 0x25], 0x67
mov byte [esp + 0x26], 0x57
mov byte [esp + 0x27], 0x72
mov byte [esp + 0x79], 0x46
mov byte [esp + 0x7a], 0x16
mov byte [esp + 0x57], al
mov byte [esp + 0x37], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x43], al
mov byte [esp + 0x77], al
mov byte [esp + 0x4a], al
mov eax, 3
mov ecx, dword [ebp + 8]
lea ecx, [ecx + 4]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x64], 0
mov dword [esp + 0x44], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x3c], ecx
jmp 0x697f95
cmp eax, 4
je 0x69836a
mov eax, 3
mov byte [esp + 0x4a], 9
cmp dword [esp + 0x38], 0
je 0x698155
mov eax, dword [esp + 0xb4]
mov ecx, dword [ebp + 8]
mov edx, ecx
lea ecx, [edx + 4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 4]
lea eax, [eax + eax*2]
mov eax, dword [ecx + eax*8 + 0x14]
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x697f54
mov dword [esp + 0x4c], eax
mov bl, 0xa
add ecx, 0x10
mov eax, 0xd
movzx esi, bl
cmp esi, 0x1a
je 0x697f91
cmp esi, 0x78
jne 0x697fea
mov eax, 0xd
mov byte [esp + 0x57], 0xa
dec edx
mov dword [ecx], edx
mov esi, dword [esp + 0x8c]
mov ecx, dword [esi]
mov edx, dword [ecx]
dec edx
cmp edx, 3
ja case.default.0x697f4d
mov dword [esp + 0x44], esi
mov ecx, 0x11
mov eax, 0x13
mov ebx, dword [esp + 0x58]
jmp dword [edx*4 + 0x7ebe64]
mov dword [esp + 0x4c], eax
mov al, 0x44
mov ecx, 0xb
movzx eax, al
cmp eax, 0x13
je 0x6980a0
mov ecx, 0xc
mov dword [esp + 0xb8], 0x700002bb
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x58], ebx
cmp ecx, 0xc
je 0x698f87
jmp 0x6989b4
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x4c], esi
cmp eax, 3
je 0x698d57
mov ah, 0xa
dec edx
mov dword [ecx], edx
mov esi, dword [esp + 0x8c]
mov ecx, dword [esi]
mov ebx, dword [ecx]
dec ebx
cmp ebx, 3
ja case.default.0x697fd5
mov dword [esp + 0x44], esi
mov byte [esp + 0x57], 0xa
mov esi, 0xa
mov edi, 0xf
mov ecx, 0xb
mov edx, 6
jmp dword [ebx*4 + 0x7ebe54]
cmp edi, 0xf
jne 0x698d57
jmp case.0x69801b.2
mov eax, 8
mov byte [esp + 0x57], 0xa
dec edx
mov dword [ecx], edx
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx]
mov ecx, dword [ecx]
dec ecx
cmp ecx, 3
ja case.default.0x69801b
mov dword [esp + 0x44], edx
mov edi, 1
mov esi, 7
mov eax, 9
jmp dword [ecx*4 + 0x7ebe74]
mov edi, 0x10
mov dh, byte [esp + 0x25]
mov bl, byte [esp + 0x27]
mov bh, byte [esp + 0x26]
mov al, byte [esp + 0x79]
mov dword [esp + 0x44], esi
mov byte [esp + 0x57], ah
mov byte [esp + 0x79], al
mov byte [esp + 0x26], bh
mov byte [esp + 0x27], bl
mov byte [esp + 0x25], dh
cmp edi, 0x10
jne 0x698d57
jmp 0x698276
mov dword [esp + 0x44], esi
jmp 0x698269
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x58], ebx
cmp eax, 8
je 0x698276
mov eax, 0xffffffff
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
jmp 0x698096
mov ecx, dword [edx + 0x10]
mov dword [esi + 0x1c], ecx
add eax, 1
jb 0x698090
jmp 0x698fed
cmp ecx, 0xb
jne 0x6980b5
mov dword [esp + 0xb8], 0x700002bb
jmp 0x698f87
mov byte [esp + 0x57], 0x46
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov esi, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x698f87
jmp 0x6984df
mov byte [esp + 0x7a], 0x38
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x6c]
lea eax, [eax + eax*2]
lea edx, [ecx + eax*8]
mov dword [esp + 0x50], edx
mov ecx, dword [ecx + eax*8]
cmp ecx, 0x17
jle 0x698163
cmp ecx, 0x3c
jg 0x6981b0
cmp ecx, 0x18
mov esi, dword [esp + 0x64]
je 0x698b39
mov eax, 9
cmp ecx, 0x29
mov ecx, esi
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x70], ecx
jne 0x698cad
cmp eax, 3
je 0x698539
jmp 0x698212
mov ebx, 0x13
test ecx, ecx
je 0x6981d9
mov esi, 0x10
cmp ecx, 3
je 0x6981e7
mov edx, 7
cmp ecx, 4
mov eax, dword [esp + 0x64]
mov esi, eax
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], eax
jne 0x698cad
cmp edx, 6
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
jne 0x6989ea
jmp case.0x697f4d.3
cmp ecx, 0x3d
mov eax, dword [esp + 0x64]
je 0x698bfc
cmp ecx, 0x47
mov esi, eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
je 0x6982b2
jmp 0x698cad
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x6981fc
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x698915
cmp ebx, 0xf
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], esi
jne 0x6988ca
jmp 0x698f87
mov ecx, 0xa
mov al, byte [esp + 0x27]
movzx edx, al
cmp edx, 0x1d
je 0x69823b
cmp edx, 0x41
je 0x698244
mov eax, 9
cmp edx, 0x72
jne 0x69828b
mov esi, dword [esp + 0x70]
jmp 0x698ce6
mov esi, dword [esp + 0x70]
jmp 0x698fb6
mov eax, 0x1d
mov byte [esp + 0x27], 0x10
mov byte [esp + 0x4b], 0x64
mov ecx, dword [esp + 0x5c]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0x30]
cmp dword [edx + ecx*8 + 0x10], 4
je 0x6982f3
cmp eax, 0xd
mov esi, dword [esp + 0x70]
jne 0x698dca
mov eax, 4
mov dword [esp + 0xb8], 0x700002bb
jmp 0x6983de
mov esi, 7
mov byte [esp + 0x27], 0x41
mov byte [esp + 0x4b], 0x64
mov eax, dword [esp + 0x5c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x30]
cmp dword [ecx + eax*8 + 0x10], 4
jne 0x699060
jmp 0x6982f3
mov ebx, 0x14
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.007896f0
mov dword [esp + 0xb8], eax
test eax, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], esi
je 0x698cad
cmp ebx, 4
jne 0x698f87
jmp 0x698fed
mov eax, dword [esp + 0x5c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax*8 + 0x14]
mov esi, dword [eax]
jmp 0x698cad
mov byte [esp + 0x25], 0x2f
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789740
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x64]
mov esi, eax
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], eax
jne 0x698f87
jmp 0x698cad
mov byte [esp + 0x43], 0xa
cmp dword [esp + 0x8c], 0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
jne 0x698bb9
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x64]
mov esi, 4
mov dword [esp + 0xb8], 0x30000003
mov edx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x60], edx
cmp esi, 4
mov dword [esp + 0x64], ecx
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0x70]
jne 0x698cad
jmp 0x698f87
mov al, bl
xor al, 0x10
mov byte [esp + 0x77], al
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00692650
add esi, 1
jb 0x6983c0
jmp 0x698c9f
cmp eax, 4
je 0x698f87
mov eax, 0x11
mov ecx, 0xb
mov byte [esp + 0x43], 0x38
cmp dword [esp + 0x8c], 0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], edx
jne 0x698bac
cmp eax, 3
jne 0x69836a
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x698f3d
mov dword [esp + 0x58], eax
mov eax, 0x10
mov byte [esp + 0x78], 0x68
mov byte [esp + 0x37], 0x19
cmp eax, 7
mov esi, dword [esp + 0x60]
jne 0x698ee3
lea eax, [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.007895f0
mov dword [esp + 0xb8], eax
test eax, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x70], esi
jne 0x698f87
jmp 0x698cad
mov ecx, dword [edx + 0x10]
mov dword [esi + 0x20], ecx
add eax, 1
jb 0x698480
jmp 0x6982e5
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov edi, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov esi, 2
mov byte [esp + 0x57], 0xa
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0xb8], eax
test eax, eax
je 0x6984df
cmp esi, 2
je 0x698f87
jmp 0x6989b4
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov esi, dword [ecx + eax*8 + 0x14]
mov ebx, dword [ecx + eax*8 + 4]
mov edi, dword [ecx + eax*8]
movzx eax, byte [ecx + eax*8 + 8]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 8], 1
call fcn.007855d0
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x698f87
mov ebx, 0xd
lea eax, [esp + 0xb8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x18], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
call fcn.007855d0
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x698df6
mov esi, 0xb
mov al, 6
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.0068e960
test eax, eax
je 0x698f87
cmp esi, 9
je 0x6988ca
mov eax, 0x14
mov ecx, dword [esp + 0x7c]
movzx ecx, cl
cmp ecx, 0x1b
je 0x698e8a
cmp ecx, 0x40
jne 0x69866e
mov al, 0x1b
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.007858c0
mov edx, 9
mov dword [esp + 0xb8], eax
jmp 0x698be0
mov esi, 0xffffffff
jmp 0x69871f
mov eax, 0xd9
add al, 0x67
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.007858c0
mov dword [esp + 0xb8], eax
add esi, 1
jb 0x698680
jmp 0x698f87
mov eax, 0x9e
add al, 0x68
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.007858c0
mov dword [esp + 0xb8], eax
add esi, 1
jb 0x698730
jmp 0x698f87
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x698f3d
mov dword [esp + 0x58], eax
mov esi, 2
mov byte [esp + 0x78], 0x67
mov byte [esp + 0x37], 0x19
jmp 0x69895f
mov ecx, 0xb
mov byte [esp + 0x7a], 0x1a
mov eax, dword [esp + 0x28]
mov edx, dword [eax]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x6c]
lea eax, [eax + eax*2]
lea esi, [edx + eax*8]
mov dword [esp + 0x50], esi
mov edx, dword [edx + eax*8]
cmp edx, 0x17
jle 0x69885a
cmp edx, 0x3c
jg 0x69888e
cmp edx, 0x18
je 0x6988b1
cmp edx, 0x29
jne 0x698a41
mov eax, dword [esp + 0x64]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x698212
test edx, edx
je 0x6988ba
mov eax, 7
cmp edx, 3
je 0x6989d1
cmp edx, 4
jne 0x698a41
mov esi, dword [esp + 0x64]
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov ebx, dword [esp + 0x58]
jmp 0x6989ea
cmp edx, 0x3d
je 0x698bfc
cmp edx, 0x47
jne 0x698a41
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x6982b2
mov esi, dword [esp + 0x64]
jmp 0x698b39
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x79]
cmp eax, 0x2b
je 0x698927
cmp eax, 0x47
jne 0x698971
mov esi, 7
mov byte [esp + 0x79], 0x47
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789840
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x70], eax
jne 0x698f87
cmp esi, 7
mov esi, dword [esp + 0x60]
jne 0x698444
jmp 0x698cad
mov esi, 6
mov byte [esp + 0x79], 0x46
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789840
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x70], eax
jne 0x698f87
cmp esi, 2
mov esi, dword [esp + 0x70]
jne 0x698cad
jmp 0x698ee3
mov edi, 0xf
mov byte [esp + 0x79], 0x2b
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789840
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x60]
mov esi, eax
mov dword [esp + 0x70], eax
je 0x698cad
cmp edi, 1
jne 0x698f87
mov eax, 0xffffffff
mov ebx, 0xfa
add ebx, 0xffffff0a
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x4c]
jmp 0x698486
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
jmp 0x698437
mov dword [esp + 0x58], ebx
mov eax, 0x1a
mov cl, byte [esp + 0x26]
movzx ecx, cl
cmp ecx, 0x63
jne 0x698a38
mov ebx, 0xf
mov byte [esp + 0x26], 0x63
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0xb8], eax
test eax, eax
mov dword [esp + 0x60], esi
jne 0x6981fc
jmp 0x698cad
mov dword [esp + 0x60], esi
jmp 0x698bee
mov esi, dword [esp + 0x64]
cmp ecx, 5
jne 0x698a7a
mov byte [esp + 0x25], 0x72
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789740
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, esi
mov dword [esp + 0x64], eax
jmp 0x698332
mov eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x698cad
mov eax, 0xc
mov byte [esp + 0x7a], 0x16
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
mov dword [esp + 0x30], edx
mov ecx, dword [esp + 0x6c]
lea ecx, [ecx + ecx*2]
lea esi, [edx + ecx*8]
mov dword [esp + 0x50], esi
mov edx, dword [edx + ecx*8]
cmp edx, 0x17
jle 0x698aeb
cmp edx, 0x3c
jg 0x698b89
cmp edx, 0x18
mov esi, dword [esp + 0x64]
je 0x698b39
cmp edx, 0x29
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], esi
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
je 0x698212
jmp 0x698bee
mov esi, 9
test edx, edx
je 0x698d7c
cmp edx, 3
je 0x698d95
mov ecx, 0x1b
cmp edx, 4
mov edx, dword [esp + 0x64]
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
jne 0x698bee
cmp ecx, 0xb
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
jne 0x6989ea
jmp case.0x697f4d.1
mov dword [esp + 0x64], esi
mov ebx, dword [esp + 0x6c]
lea eax, [ebx + ebx*2]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + eax*8 + 4]
lea ecx, [esp + 0x8c]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xb4]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00788af0
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ebx
jmp 0x698340
cmp edx, 0x3d
mov esi, dword [esp + 0x64]
je 0x698bfc
mov ecx, 0xf
cmp edx, 0x47
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], esi
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], edx
jne 0x698bee
cmp ecx, 0xb
mov esi, dword [esp + 0x60]
jne 0x6982b2
mov eax, 0xb
mov edx, 5
mov byte [esp + 0x4a], 9
mov byte [esp + 0x77], 0x1b
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x68], ecx
test ecx, ecx
jne 0x698cfd
cmp edx, 5
je 0x698e53
jmp 0x698f87
cmp eax, 0xc
jne 0x698c69
mov esi, dword [esp + 0x70]
jmp 0x698cad
mov dl, byte [esp + 0x25]
movzx eax, dl
cmp eax, 0x67
je 0x698309
mov ecx, 5
cmp eax, 0x72
jne 0x698da6
mov esi, 5
mov byte [esp + 0x25], 0x67
lea eax, [esp + 0x90]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789740
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x6c]
mov edx, ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x70], eax
mov ecx, eax
mov eax, edx
jne 0x698f87
jmp 0x698392
mov ebx, 9
mov byte [esp + 0x26], 0x57
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp], eax
call fcn.00789690
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0x60]
mov esi, eax
mov dword [esp + 0x70], eax
je 0x698cad
cmp ebx, 9
jne 0x698e53
jmp 0x698f87
mov eax, 0x1a
mov cl, byte [esp + 0x7b]
movzx ecx, cl
cmp ecx, 0x7c
jne 0x698cf9
mov eax, 0xc
mov byte [esp + 0x7b], 0x38
mov byte [esp + 0x43], 0xa
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x6c], ecx
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 8]
mov dword [esp + 0x64], esi
mov dword [esp + 0x2c], esi
jb 0x698d57
cmp eax, 9
jne 0x698d73
mov byte [esp + 0x27], 0x1d
jmp 0x698daf
mov dword [esp + 0x70], esi
cmp eax, 0xb
jne 0x698d27
mov eax, 0x18
movzx ecx, byte [esp + 0x77]
cmp ecx, 0x1b
jne 0x698e39
mov esi, 0xffffffff
mov ebx, 0x4e
xor ebx, 0x58
jmp 0x6983d4
mov eax, 0x13
mov byte [esp + 0x7b], 0x7c
mov byte [esp + 0x43], 0xa
mov ecx, dword [esp + 0x5c]
inc ecx
mov dword [esp + 0x6c], ecx
mov edx, dword [ebp + 8]
cmp ecx, dword [edx + 8]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], ecx
jae 0x698e70
movzx eax, byte [esp + 0x7a]
cmp eax, 0x16
je 0x698a91
cmp eax, 0x1a
je 0x6980fa
jmp 0x698804
mov dword [esp + 0x70], esi
jmp 0x698e9d
mov eax, dword [esp + 0x64]
mov dword [esp + 0x70], eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x6985b1
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
jmp 0x698444
mov byte [esp + 0x25], dl
jmp 0x698a41
mov byte [esp + 0x4b], 0x64
mov eax, dword [esp + 0x5c]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x30]
cmp dword [ecx + eax*8 + 0x10], 4
je 0x6982f3
mov ebx, 0xf
movzx eax, byte [esp + 0x4b]
cmp eax, 0x64
jne 0x698df2
mov byte [esp + 0x4b], 0x36
mov dword [esp + 0xb8], 0x30000003
mov dword [esp + 0x70], esi
jmp 0x698f87
mov dword [esp + 0x70], esi
cmp ebx, 0xd
je 0x698f87
mov ecx, 0xffffffff
mov eax, 0xa3
add eax, 0xffffff69
mov dl, byte [esp + 0x4b]
jmp 0x698e30
mov dl, al
xor dl, 0x68
mov dword [esp + 0xb8], 0x30000003
add ecx, 1
jb 0x698e20
mov byte [esp + 0x4b], dl
cmp eax, 0xc
je 0x698f87
mov byte [esp + 0x77], 0x1b
mov eax, dword [esp + 0x68]
mov dword [esp], eax
call fcn.00692650
mov eax, 0xc
movzx ecx, byte [esp + 0x4a]
cmp ecx, 7
je 0x697ead
mov eax, 4
cmp ecx, 9
jne 0x698eb5
cmp eax, 4
jne 0x698e9d
mov eax, 7
mov byte [esp + 0x4a], 0xa
cmp dword [esp + 0x38], 0
jne 0x697ecb
cmp eax, 7
je 0x698539
mov esi, 0xffffffff
jmp 0x6987cf
mov eax, 0xc
movzx ecx, byte [esp + 0x43]
cmp ecx, 0x38
jne 0x69834f
jmp 0x6983de
mov byte [esp + 0x4a], 7
cmp dword [esp + 0x38], 0
jne 0x697ecb
jmp 0x698539
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x698f3d
mov dword [esp + 0x58], eax
mov byte [esp + 0x78], 0x23
mov byte [esp + 0x37], 0x19
movzx eax, byte [esp + 0x37]
cmp eax, 0x19
mov ebx, dword [esp + 0x58]
jne 0x698f23
mov esi, 0x13
mov byte [esp + 0x37], 0x19
mov dword [esp], ebx
call fcn.00626ae0
cmp esi, 7
mov ebx, dword [esp + 0x58]
jne 0x698f3d
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x18], eax
jmp 0x698fed
mov esi, 0xffffffff
jmp 0x698f38
mov dword [esp], ebx
call fcn.00626ae0
add esi, 1
jb 0x698f30
mov eax, dword [esp + 0xb8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x698f3d
mov dword [esp + 0x58], eax
mov byte [esp + 0x78], 0x6b
mov byte [esp + 0x37], 0x19
mov dword [esp + 0x70], esi
jmp 0x698ee3
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x698f3d
mov dword [esp + 0x58], eax
mov byte [esp + 0x78], 0xb
jmp 0x698ede
mov eax, 3
mov dl, byte [esp + 0x78]
movsx ecx, dl
cmp ecx, 0x66
jg 0x698fc5
movzx edx, dl
cmp edx, 0xb
je 0x6987dd
mov ecx, 0x18
cmp edx, 0x23
mov esi, dword [esp + 0x70]
jne 0x69840c
cmp ecx, 0xa
jne 0x698f4c
mov byte [esp + 0x27], 0x72
jmp 0x698daf
movzx ecx, dl
cmp ecx, 0x67
je 0x698f6e
cmp ecx, 0x68
je 0x698eca
jmp 0x69840c
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x4c]
mov dword [ecx + 0x20], eax
mov al, byte [esp + 0x57]
movzx edx, al
cmp edx, 6
je 0x69901b
mov ecx, 0xc
mov eax, 0x15
cmp edx, 0xa
je 0x6980a0
cmp eax, 9
jne 0x698490
mov ebx, dword [esp + 0x58]
jmp case.0x697f4d.3
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 + 0x10]
mov ebx, dword [ecx + eax*8 + 0x14]
mov eax, dword [ecx + eax*8 + 4]
mov esi, 0x16
mov byte [esp + 0x57], 6
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0068ece0
mov dword [esp + 0xb8], eax
test eax, eax
jne 0x698f87
cmp esi, 7
mov esi, dword [esp + 0x70]
jne 0x6984df
jmp 0x698dca