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

Disassembly:
sub esp, 0x3c
mov ax, word [esp + 0x40]
push ebp
xor ebp, ebp
push esi
cmp ax, bp
push edi
mov esi, ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x2c], ebp
jne 0x3f124625
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f11cfe4
mov ecx, dword [esi + 0x242e4]
mov dword [esp + 0x34], eax
movsx eax, word [esi + 0x136]
shl eax, 7
cmp word [eax + ecx + 0x1c], 0x1e5d
lea eax, [eax + ecx + 0x1c]
je 0x3f3b7f8f
mov word [esi + 0xa6], 0x7fbc
mov ax, word [eax]
push eax
mov ecx, esi
call fcn.3f102982
push eax
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.3f11ecb6
test ax, ax
jne 0x3f124631
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
push ebx
shl eax, 7
mov edi, 0xfd7
mov bx, word [eax + ecx + 0x48]
cmp bx, bp
jne 0x3f12463e
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x4c]
cmp cx, bp
jne 0x3f1246ef
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov bp, word [eax + ecx + 0x4a]
mov ecx, esi
push ebp
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov ebx, dword [ecx + eax*4]
sar ebx, 0x10
test bp, bp
jne 0x3f12472e
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov bp, word [ecx + eax + 0x46]
test bp, bp
jne 0x3f1249f5
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [ecx + eax + 0x4c]
mov ecx, esi
push eax
push edi
call fcn.3f1014d3
mov edx, dword [esi + 0x242e8]
mov ecx, dword [esi + 0x242e4]
movzx eax, ax
mov eax, dword [edx + eax*4]
sar eax, 0x10
shl eax, 7
test byte [eax + ecx + 0x7d], 4
jne 0x3f124bf1
mov ax, word [esi + 0x136]
mov ecx, esi
push eax
call fcn.3f12328f
mov ax, word [esi + 0x136]
mov ecx, esi
push eax
call fcn.3f123a59
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f1206eb
test ax, ax
jne 0x3f124c46
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f120428
test ax, ax
jne 0x3f124c53
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
add ecx, eax
movsx edx, word [ecx + 0x4a]
shl edx, 7
add eax, edx
test byte [eax + 0x7e], 0x10
jne 0x3f124c60
mov ebp, 0x101d
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
mov cx, word [eax + 0x46]
cmp word [eax + 0x4a], 0
mov dword [esp + 0x50], ecx
jne 0x3f1243b8
test cx, cx
jne 0x3f124d11
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
mov bx, word [eax + 0x4a]
mov ax, word [eax + 0x4c]
test bx, bx
mov dword [esp + 0x50], eax
jne 0x3f124de3
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
mov cx, word [eax + 0x4a]
mov bx, word [eax + 0x48]
test cx, cx
mov dword [esp + 0x50], ecx
jne 0x3f124e74
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
mov bx, word [eax + 0x4a]
mov ax, word [eax + 0x48]
test ax, ax
jne 0x3f124f14
test bx, bx
jne 0x3f124f2a
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
mov cx, word [eax + 0x4a]
mov bx, word [eax + 0x46]
test cx, cx
mov dword [esp + 0x50], ecx
jne 0x3f124fac
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov bx, word [eax + ecx + 0x46]
mov ecx, esi
push ebx
push edi
call fcn.3f1014d3
test ax, ax
jne 0x3f125044
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
cmp word [ecx + eax + 0x46], 0
jne 0x3f1244b5
push 0x1f7e
mov ecx, esi
push dword [esp + 0x18]
call fcn.3f1056d0
test ax, ax
jne 0x3f3b81d8
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
add ecx, eax
movsx edx, word [ecx + 0x46]
shl edx, 7
add eax, edx
test byte [eax + 0x6d], 8
jne 0x3f1250e7
cmp word [esi + 0x72a], 0
jne 0x3f1251c9
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x46]
movsx edx, cx
shl edx, 7
cmp word [edx + eax + 0x1a], 0x1a32
je 0x3f12520c
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov bx, word [eax + ecx + 0x48]
test bx, bx
jne 0x3f125228
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
and dword [esp + 0x20], 0
and dword [esp + 0x10], 0
push 0x1723
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f1204c9
test ax, ax
jne 0x3f1254dc
movzx eax, word [esi + 0x20]
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x2c], 0
je 0x3f126510
movzx eax, word [esp + 0x2c]
mov ecx, dword [esi + 0x242e8]
push 0
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov ebp, eax
and eax, 0xffff
mov dword [esp + 0x30], eax
mov ax, word [esi + 0x136]
sar ebp, 0x10
push eax
push ebp
mov dword [esp + 0x24], ebp
call fcn.3f120121
mov ebx, eax
test bx, bx
jne 0x3f1254e9
cmp bp, 0xfbf
je 0x3f12625e
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
cmp word [eax + 0x1c], 0x19eb
je 0x3f1264bb
push 0x1fad
mov ecx, esi
push dword [esp + 0x18]
call fcn.3f1056d0
test ax, ax
jne 0x3f1264c5
test bx, bx
je 0x3f12456b
cmp word [esp + 0x40], 0
je 0x3f12456b
mov ecx, dword [esi + 0x242e4]
movsx eax, bx
nop
shl eax, 7
or byte [eax + ecx + 0x71], 2
lea eax, [ecx + eax + 0x71]
jmp 0x3f12456b
mov word [esi + 0x136], ax
jmp 0x3f1241b8
mov dword [esp + 0x38], 1
jmp 0x3f124223
push ebx
push 0x27
mov ecx, esi
call fcn.3f101c26
test ax, ax
je 0x3f1246b7
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11e1
call fcn.3f1014ed
test ax, ax
je 0x3f124247
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f120428
test ax, ax
je 0x3f124247
jmp 0x3f3b7fc7
mov ecx, dword [esi + 0x242e4]
movsx eax, bx
shl eax, 7
or byte [ecx + eax + 0x6c], 0x20
lea ecx, [ecx + eax + 0x6c]
mov ecx, dword [esi + 0x242e4]
or byte [eax + ecx + 0x6d], 0x10
lea ecx, [ecx + eax + 0x6d]
mov ecx, dword [esi + 0x242e4]
or byte [ecx + eax + 0x6d], 0x40
lea eax, [eax + ecx + 0x6d]
jmp 0x3f12464d
movsx ebx, cx
shl ebx, 7
add eax, ebx
cmp word [eax + 0x1a], 0x1789
je 0x3f124265
test byte [eax + 0x6a], 0x60
je 0x3f124265
push ecx
push 0x124b
mov ecx, esi
call fcn.3f1191f8
mov eax, dword [esi + 0x242e4]
and byte [eax + ebx + 0x6b], 0xfd
lea eax, [ebx + eax + 0x6b]
jmp 0x3f124265
push ebp
push 0x1204
mov ecx, esi
call fcn.3f1014ed
test ax, ax
jne 0x3f3b7fe1
push ebx
push 0x1204
mov ecx, esi
call fcn.3f1014ed
test ax, ax
jne 0x3f3b7fe1
mov eax, dword [esi + 0x242e4]
movsx ebx, bp
shl ebx, 7
add eax, ebx
mov cx, word [eax + 0x1a]
cmp cx, 0x17a3
je 0x3f1247df
push 0x1f72
push ecx
mov ecx, esi
call fcn.3f102982
push eax
mov ecx, esi
call fcn.3f1056d0
test ax, ax
jne 0x3f1247e7
mov eax, dword [esi + 0x242e4]
test byte [ebx + eax + 0x6a], 0x80
jne 0x3f124807
push ebp
push 0x1027
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f12429b
mov eax, dword [esi + 0x242e4]
add ebx, eax
test byte [ebx + 0x6a], 0x91
jne 0x3f12429b
test byte [ebx + 0x6c], 8
jne 0x3f12429b
test byte [ebx + 0x7e], 0x10
jne 0x3f12429b
or byte [ebx + 0x7b], 0x80
jmp 0x3f12429b
test byte [eax + 0x6a], 0x60
jne 0x3f1247e7
jmp 0x3f124773
mov eax, dword [esi + 0x242e4]
and byte [eax + ebx + 0x77], 0xbf
lea eax, [eax + ebx + 0x77]
mov eax, dword [esi + 0x242e4]
and byte [eax + ebx + 0x77], 0x7f
lea eax, [eax + ebx + 0x77]
jmp 0x3f12478d
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
push 0x1f76
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f1056d0
test ax, ax
jne 0x3f1249c8
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
push 1
movzx eax, ax
push 1
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f11dcd4
cmp ax, 0x1e5e
je 0x3f1249c8
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
cmp word [ecx + eax + 0x46], 0
jne 0x3f12479a
push 0
mov ecx, esi
call fcn.3f103667
mov edx, dword [esi + 0x242e4]
push ebp
movsx ecx, ax
shl ecx, 7
push 0xfc5
mov word [ecx + edx], 0x13af
mov edx, dword [esi + 0x242e4]
or byte [ecx + edx + 0x6a], 0x80
lea edx, [edx + ecx + 0x6a]
mov edx, dword [esi + 0x242e4]
or byte [edx + ecx + 0x6d], 4
lea edx, [edx + ecx + 0x6d]
mov edx, dword [esi + 0x242e4]
or byte [edx + ecx + 0x6d], 8
mov word [esi + 0x2a8f8], ax
lea ecx, [ecx + edx + 0x6d]
mov edx, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
shl ecx, 7
mov word [ecx + edx + 0x46], ax
mov eax, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
shl ecx, 7
mov dx, word [ebx + eax + 0x1a]
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
mov word [eax + ecx + 0x1a], dx
mov eax, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
shl ecx, 7
mov dx, word [eax + ebx + 0x44]
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
mov word [ecx + eax + 0x44], dx
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push 0xfc5
call fcn.3f10152e
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push edi
call fcn.3f10152e
mov eax, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
test byte [ebx + eax + 0x77], 2
jne 0x3f1249dc
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
and byte [ecx + eax + 0x77], 0xfd
lea eax, [ecx + eax + 0x77]
jmp 0x3f12479a
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x77], 2
lea eax, [eax + ebx + 0x77]
jmp 0x3f12487f
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
or byte [ecx + eax + 0x77], 2
lea eax, [ecx + eax + 0x77]
jmp 0x3f12479a
movsx ebx, bp
shl ebx, 7
add eax, ebx
test byte [eax + 0x7c], 8
jne 0x3f124b25
mov eax, dword [esi + 0x242e4]
push 0x1f79
mov ecx, esi
mov ax, word [eax + ebx + 0x5c]
push eax
call fcn.3f1056d0
test ax, ax
je 0x3f124a38
mov eax, dword [esi + 0x242e4]
add eax, ebx
mov cl, byte [eax + 0x6d]
test cl, 8
je 0x3f124b36
cmp word [esp + 0x14], 0x1764
je 0x3f124b56
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11e0
call fcn.3f1014ed
test ax, ax
jne 0x3f124b95
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f124a97
push ebp
push 0x11e0
mov ecx, esi
call fcn.3f1014ed
test ax, ax
jne 0x3f124bd0
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x124f
call fcn.3f1014ed
test ax, ax
jne 0x3f124ba7
push ebp
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1259
call fcn.3f1014ed
test ax, ax
jne 0x3f124bd0
mov eax, dword [esi + 0x242e4]
add ebx, eax
mov al, byte [ebx + 0x7d]
test al, 0x40
je 0x3f1242b9
mov cl, byte [ebx + 0x6d]
test cl, 0x10
je 0x3f1242b9
test cl, 8
jne 0x3f1242b9
and al, 0xbf
mov byte [ebx + 0x7d], al
jmp 0x3f1242b9
cmp word [eax + 0x1a], 0x178e
jne 0x3f124a07
jmp 0x3f3b80b1
test cl, 0x10
je 0x3f124a38
mov cl, byte [eax + 0x7c]
test cl, 8
jne 0x3f124a38
or cl, 8
mov byte [eax + 0x7c], cl
jmp 0x3f124a38
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
add eax, ecx
cmp word [eax + 0x4a], 0
je 0x3f124a45
cmp word [eax + 0x50], 0
je 0x3f124a45
mov ax, word [esi + 0x76]
mov ecx, esi
push eax
push ebp
push 0x101d
call fcn.3f10152e
jmp 0x3f124a45
mov eax, dword [esi + 0x242e4]
test byte [eax + ebx + 0x7c], 0x40
jne 0x3f124bd0
jmp 0x3f124a73
mov eax, dword [esi + 0x242e4]
push 0x1e5f
mov ecx, esi
mov ax, word [eax + ebx + 0x1a]
push eax
call fcn.3f102982
push eax
mov ecx, esi
call fcn.3f1204c9
test ax, ax
je 0x3f124ac5
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x7e], 2
push ebp
push 0x11a4
lea eax, [eax + ebx + 0x7e]
mov ecx, esi
call fcn.3f11cff7
jmp 0x3f124af3
movsx eax, word [esi + 0x136]
shl eax, 7
add eax, ecx
movsx edx, word [eax + 0x4c]
shl edx, 7
test byte [edx + ecx + 0x7c], 0x10
je 0x3f1242fa
mov ax, word [eax + 0x4a]
mov ecx, esi
push eax
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1251
call fcn.3f1014ed
test ax, ax
je 0x3f1242fa
jmp 0x3f3b80c8
mov dword [esp + 0x28], 1
jmp 0x3f12433e
mov dword [esp + 0x1c], 1
jmp 0x3f124364
test byte [eax + 0x6a], 0x10
je 0x3f124389
mov ax, word [ecx + 0x46]
test ax, ax
je 0x3f124389
cmp word [ecx + 0x4e], 0
je 0x3f124389
mov ebp, 0x101d
push eax
push ebp
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f3b80f9
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [ecx + eax + 0x4a]
mov ecx, esi
push eax
push ebp
call fcn.3f1014d3
test ax, ax
je 0x3f3b8121
movsx eax, word [esi + 0x136]
nop
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x4e]
mov ecx, esi
push eax
push ebp
call fcn.3f1014d3
test ax, ax
jne 0x3f12438e
mov ax, word [esi + 0x76]
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x4e]
mov ecx, esi
push eax
push ebp
call fcn.3f10152e
jmp 0x3f12438e
push ecx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11e5
call fcn.3f1014ed
test ax, ax
je 0x3f1243b8
push 0
mov ecx, esi
call fcn.3f103667
mov ebp, eax
mov eax, dword [esi + 0x242e4]
movsx ebx, bp
shl ebx, 7
push ebp
push 0x11e5
mov word [eax + ebx], 0x13a8
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x77], 0x80
mov ecx, esi
lea eax, [eax + ebx + 0x77]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x7c], 4
lea eax, [eax + ebx + 0x7c]
call fcn.3f11cff7
movsx ecx, word [esp + 0x50]
mov eax, dword [esi + 0x242e4]
push dword [esp + 0x50]
shl ecx, 7
push edi
mov cx, word [ecx + eax + 0x1a]
mov word [ebx + eax + 0x1a], cx
mov ecx, esi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f12074a
push eax
push ebp
push edi
mov ecx, esi
call fcn.3f10152e
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], bp
shl eax, 7
mov word [eax + ecx + 0x4a], bp
mov ebp, 0x101d
jmp 0x3f1243b8
test ax, ax
je 0x3f1243e0
push ebx
push ebp
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f1243e0
push dword [esp + 0x50]
mov ecx, esi
push ebp
call fcn.3f1014d3
test ax, ax
jne 0x3f1243e0
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1253
call fcn.3f1014ed
test ax, ax
jne 0x3f3b814e
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1251
call fcn.3f1014ed
test ax, ax
je 0x3f1243e0
jmp 0x3f3b8180
test bx, bx
je 0x3f124408
push ebx
push 3
mov ecx, esi
call fcn.3f101c26
test ax, ax
je 0x3f124408
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11a9
call fcn.3f1014ed
test ax, ax
jne 0x3f124eeb
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11a9
call fcn.3f1014ed
test ax, ax
je 0x3f124408
mov ax, word [esi + 0xa6]
mov ecx, esi
dec ax
push eax
push dword [esp + 0x54]
push ebp
call fcn.3f10152e
mov ax, word [esi + 0x76]
mov ecx, esi
push eax
push ebx
push ebp
call fcn.3f10152e
jmp 0x3f124408
movsx eax, ax
shl eax, 7
test byte [ecx + eax + 0x6c], 0x20
je 0x3f124434
jmp 0x3f12442b
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11d6
call fcn.3f1014ed
test ax, ax
jne 0x3f124f82
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11d7
call fcn.3f1014ed
test ax, ax
je 0x3f124434
push ebx
push ebp
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f124434
mov ax, word [esi + 0xa6]
mov ecx, esi
dec ax
push eax
push ebx
push ebp
call fcn.3f10152e
jmp 0x3f124434
test bx, bx
je 0x3f12445c
push ebx
push 0x11e0
mov ecx, esi
call fcn.3f1014ed
test ax, ax
jne 0x3f124ff5
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11e0
call fcn.3f1014ed
test ax, ax
je 0x3f12445c
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f120428
test ax, ax
jne 0x3f12445c
mov ax, word [esi + 0xa6]
mov ecx, esi
dec ax
push eax
push dword [esp + 0x54]
push ebp
call fcn.3f10152e
mov ax, word [esi + 0x76]
mov ecx, esi
push eax
push ebx
push ebp
call fcn.3f10152e
jmp 0x3f12445c
push 0x3f22c19c
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f109c84
test ax, ax
je 0x3f124484
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
movzx eax, ax
mov dword [esp + 0x50], eax
cmp dword [esp + 0x50], 0
je 0x3f124484
movzx eax, word [esp + 0x50]
mov ecx, dword [esi + 0x242e8]
push 0
push 0
mov eax, dword [ecx + eax*4]
mov ecx, esi
mov ebp, eax
and eax, 0xffff
sar ebp, 0x10
movsx ebx, bp
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x242e4]
shl ebx, 7
mov ax, word [eax + ebx + 0x1a]
push eax
call fcn.3f1214ec
push eax
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov ax, word [ebx + eax + 0x5a]
push eax
call fcn.3f1210a1
mov ebx, 0x101d
push eax
push ebx
mov ecx, esi
call fcn.3f1014d3
push eax
push ebp
push ebx
mov ecx, esi
call fcn.3f10152e
mov ebp, ebx
jmp 0x3f125073
cmp word [ecx + 0x48], 0
jne 0x3f1244da
mov ax, word [eax + 0x1a]
push 0x1f86
push eax
mov ecx, esi
call fcn.3f1056d0
test ax, ax
je 0x3f1244da
push 0
mov ecx, esi
call fcn.3f103667
mov edx, dword [esi + 0x242e4]
movsx ecx, ax
shl ecx, 7
mov word [ecx + edx], 0x13b3
mov edx, dword [esi + 0x242e4]
or byte [ecx + edx + 0x6c], 0x20
lea edx, [ecx + edx + 0x6c]
mov edx, dword [esi + 0x242e4]
or byte [ecx + edx + 0x6d], 0x40
lea edx, [edx + ecx + 0x6d]
mov edx, dword [esi + 0x242e4]
or byte [ecx + edx + 0x6d], 0x10
lea edx, [edx + ecx + 0x6d]
mov edx, dword [esi + 0x242e4]
or byte [edx + ecx + 0x78], 0x80
movsx ebx, word [esi + 0x136]
lea edx, [edx + ecx + 0x78]
mov edx, dword [esi + 0x242e4]
shl ebx, 7
movsx ebx, word [ebx + edx + 0x46]
shl ebx, 7
mov bx, word [ebx + edx + 0x1a]
mov word [edx + ecx + 0x1a], bx
mov edx, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
shl ecx, 7
mov word [esi + 0x2a8f8], ax
mov word [ecx + edx + 0x48], ax
mov ax, word [esi + 0x76]
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x48]
mov ecx, esi
push eax
push ebp
call fcn.3f10152e
jmp 0x3f1244da
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x4a]
test cx, cx
je 0x3f1244e8
movsx edx, cx
shl edx, 7
cmp word [edx + eax + 0x1a], 0x1e62
jne 0x3f1244e8
push ecx
push 0x1281
mov ecx, esi
call fcn.3f1191f8
jmp 0x3f1244e8
mov ebx, 0x1043
push ecx
push ebx
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f124510
jmp 0x3f3b8274
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x11cc
call fcn.3f1014ed
test ax, ax
je 0x3f12452e
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x43
call fcn.3f101c26
test ax, ax
jne 0x3f12452e
mov eax, dword [esi + 0x242e4]
movsx ebp, bx
nop
shl ebp, 7
test byte [eax + ebp + 0x6c], 0x20
je 0x3f12549f
movsx ecx, word [esi + 0x136]
shl ecx, 7
cmp word [ecx + eax + 0x46], 0
jne 0x3f12452e
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, eax
mov eax, dword [esi + 0x242e4]
movsx ebx, cx
shl ebx, 7
mov dword [esp + 0x50], ecx
push ecx
mov word [eax + ebx], 0x13af
mov eax, dword [esi + 0x242e4]
movsx edx, word [esi + 0x136]
shl edx, 7
push 0x11cc
mov ecx, esi
movsx edx, word [edx + eax + 0x48]
shl edx, 7
mov dx, word [edx + eax + 0x1a]
mov word [ebx + eax + 0x1a], dx
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
or byte [ebx + eax + 0x7d], 8
mov ecx, dword [esi + 0x242e4]
push 0x1704
lea eax, [ebx + eax + 0x7d]
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f12086a
test ax, ax
jne 0x3f1254af
movsx ecx, word [esi + 0x136]
mov eax, dword [esp + 0x50]
mov edx, dword [esi + 0x242e4]
shl ecx, 7
mov word [esi + 0x2a8f8], ax
mov word [ecx + edx + 0x46], ax
mov eax, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
test byte [eax + ebp + 0x6d], 4
jne 0x3f1254c3
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
or byte [eax + ecx + 0x6d], 8
lea eax, [eax + ecx + 0x6d]
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
or byte [ecx + eax + 0x6d], 4
lea eax, [eax + ecx + 0x6d]
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
mov ebx, eax
movsx eax, bx
shl eax, 7
push ebx
push 0x11cc
mov word [eax + ecx + 0x5a], 0xfc1
mov ecx, dword [esi + 0x242e4]
movsx edx, word [esi + 0x136]
shl edx, 7
movsx edx, word [edx + ecx + 0x48]
shl edx, 7
mov dx, word [edx + ecx + 0x1a]
mov word [eax + ecx + 0x1a], dx
mov ecx, esi
call fcn.3f11cff7
push 0
push ebx
mov ecx, esi
mov word [esi + 0x2a8f8], bx
call fcn.3f101268
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push edi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f101940
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push edi
call fcn.3f10152e
mov ax, word [esi + 0xa6]
mov ecx, dword [esi + 0x242e4]
dec ax
mov ebx, 0x101d
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x48]
mov ecx, esi
push eax
push ebx
call fcn.3f10152e
mov ax, word [esi + 0x76]
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push ebx
call fcn.3f10152e
jmp 0x3f12452e
test byte [eax + ebp + 0x6d], 4
je 0x3f12452e
jmp 0x3f125299
mov eax, dword [esi + 0x242e4]
or byte [ebx + eax + 0x70], 8
lea ebx, [ebx + eax + 0x70]
jmp 0x3f125339
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
or byte [eax + ecx + 0x6d], 0x10
lea eax, [eax + ecx + 0x6d]
jmp 0x3f1253a6
mov dword [esp + 0x40], 1
jmp 0x3f124563
mov eax, dword [esi + 0x242e4]
movsx ebp, bx
shl ebp, 7
cmp word [eax + ebp + 0x44], 0x56
je 0x3f3b82ca
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
test ax, ax
push ebx
jne 0x3f12578a
push 0x34
mov ecx, esi
call fcn.3f101c26
test ax, ax
jne 0x3f125a81
cmp word [esp + 0x3c], 1
je 0x3f125cb7
mov eax, dword [esi + 0x242e4]
cmp word [eax + ebp + 0x1a], 0
lea ecx, [eax + ebp + 0x1a]
je 0x3f3b82fa
push ebx
push 0x101d
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f125562
mov dword [esp + 0x44], 1
cmp word [esp + 0x18], 0xfd1
je 0x3f125ccb
inc dword [esp + 0x10]
and dword [esp + 0x34], 0
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f101983
cmp ax, 1
jg 0x3f125ce3
mov ecx, dword [esp + 0x20]
test cx, cx
jne 0x3f125df3
push ebx
push 0xfe6
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f1255c8
push ebx
push 0x101d
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f125dca
cmp word [esp + 0x18], 0xfc6
je 0x3f125e15
mov eax, dword [esi + 0x242e4]
push 0x1f89
mov ecx, esi
mov ax, word [eax + ebp + 0x1a]
push eax
call fcn.3f1056d0
test ax, ax
jne 0x3f125e27
push 0x1f8f
mov ecx, esi
push dword [esp + 0x18]
call fcn.3f1056d0
test ax, ax
jne 0x3f125e36
push ebx
push 0xfe6
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f125e4a
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
push 0x1704
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f1207a3
test ax, ax
mov dword [esp + 0x30], eax
je 0x3f12567b
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
push 0x1704
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f12086a
test ax, ax
jne 0x3f125ebb
xor eax, eax
cmp word [esp + 0x28], ax
jne 0x3f125ef6
cmp word [esp + 0x1c], ax
jne 0x3f125f01
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x7c], 0xdf
lea eax, [eax + ebp + 0x7c]
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x71], 0xfb
lea eax, [eax + ebp + 0x71]
cmp word [esp + 0x18], 0xfbf
je 0x3f126046
cmp word [esp + 0x18], 0xfc6
je 0x3f126081
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x7c], 0xef
push 0x1f92
mov ecx, esi
lea eax, [eax + ebp + 0x7c]
mov eax, dword [esi + 0x242e4]
mov ax, word [eax + ebp + 0x1a]
push eax
call fcn.3f102982
push eax
mov ecx, esi
call fcn.3f1056d0
test ax, ax
jne 0x3f1260b6
mov eax, dword [esi + 0x242e4]
push 0x1fa2
mov ecx, esi
mov ax, word [eax + ebp + 0x1a]
push eax
call fcn.3f102982
push eax
mov ecx, esi
call fcn.3f1056d0
test ax, ax
jne 0x3f1260cb
cmp word [esp + 0x18], 0xfc6
je 0x3f1260dd
cmp word [esp + 0x18], 0xfca
je 0x3f1260dd
push ebx
mov ecx, esi
call fcn.3f12146f
push ebx
push 0x100f
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f12615c
push 0
push ebx
push 0xff0
mov ecx, esi
call fcn.3f10152e
mov eax, dword [esi + 0x242e4]
mov cx, word [esi + 0x136]
mov word [eax + ebp + 0x1e], cx
jmp 0x3f1245be
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x2d
call fcn.3f101c26
test ax, ax
jne 0x3f1258be
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x42
call fcn.3f101c26
test ax, ax
jne 0x3f1258be
mov eax, dword [esi + 0x242e4]
add eax, ebp
cmp word [eax], 0x13a8
jne 0x3f125929
test byte [eax + 0x6e], 1
jne 0x3f125802
test byte [eax + 0x6d], 0x80
je 0x3f125929
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push edi
call fcn.3f1014d3
test ax, ax
jne 0x3f125898
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
mov dword [esp + 0x50], eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x48]
mov ecx, esi
push eax
push edi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f12074a
push eax
mov ecx, esi
push dword [esp + 0x54]
push edi
call fcn.3f10152e
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x48]
mov ecx, esi
push eax
push ebx
push ebx
push 0x34
call fcn.3f102d13
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [eax + ecx + 0x48]
mov ecx, esi
push eax
push ebx
push ebx
push 0x34
call fcn.3f102d13
jmp 0x3f125526
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
cmp word [eax + ecx + 0x5a], 0xfbf
jne 0x3f1257df
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f11cfe4
cmp ax, 1
jne 0x3f1257df
jmp 0x3f3b82de
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1240
call fcn.3f1014ed
test ax, ax
jne 0x3f125526
mov ax, word [esi + 0x80]
and word [esi + 0xc4], 0
push 1
mov ecx, esi
mov word [esp + 0x38], ax
call fcn.3f11f2b8
push ebx
mov ecx, esi
call fcn.3f103667
push 0
push eax
push edi
mov ecx, esi
mov dword [esp + 0x5c], eax
call fcn.3f10152e
mov eax, dword [esp + 0x50]
push ebx
push eax
mov ecx, esi
mov word [esi + 0x2a8f8], ax
call fcn.3f22df64
push dword [esp + 0x50]
mov ecx, esi
push dword [esp + 0x54]
call fcn.3f22de02
mov ax, word [esi + 0xa4]
and word [esi + 0x80], 0
push eax
mov ecx, esi
push dword [esp + 0x54]
call fcn.3f22d9db
push 0xffffffffffffffff
mov ecx, esi
call fcn.3f11f2b8
push 0
mov ecx, esi
call fcn.3f103667
push eax
mov ecx, esi
mov dword [esp + 0x54], eax
call fcn.3f22d9be
push dword [esp + 0x50]
mov ax, word [esp + 0x38]
mov ecx, esi
mov word [esi + 0x80], ax
push edi
call fcn.3f1014d3
push eax
push ebx
push edi
mov ecx, esi
call fcn.3f10152e
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push ebx
push ebx
push 0x34
call fcn.3f102d13
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push edi
call fcn.3f1014d3
test ax, ax
jne 0x3f125a95
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
cmp word [eax + ecx + 0x5a], 0xfc6
je 0x3f125baa
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7d], 2
lea eax, [eax + ebp + 0x7d]
jmp 0x3f125526
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x2d
call fcn.3f101c26
test ax, ax
jne 0x3f125b69
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x42
call fcn.3f101c26
test ax, ax
jne 0x3f125b69
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x2d
call fcn.3f101c26
test ax, ax
jne 0x3f125b69
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x42
call fcn.3f101c26
test ax, ax
je 0x3f125a53
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push ebx
push ebx
push 0x34
call fcn.3f102d13
jmp 0x3f125a53
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x2d
call fcn.3f101c26
test ax, ax
jne 0x3f125bfc
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x42
call fcn.3f101c26
test ax, ax
je 0x3f125a81
and dword [esp + 0x50], 0
push 1
mov ecx, esi
call fcn.3f11f2b8
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
push 0
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
mov dword [esp + 0x28], ecx
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f1201a3
movsx ecx, ax
mov eax, dword [esp + 0x24]
shl ecx, 7
movsx ecx, word [ecx + eax + 0x4a]
shl ecx, 7
add eax, ecx
test byte [eax + 0x6e], 1
jne 0x3f125c8f
test byte [eax + 0x6d], 0x80
jne 0x3f125c99
push 0xffffffffffffffff
mov ecx, esi
call fcn.3f11f2b8
cmp word [esp + 0x50], 1
je 0x3f125ca3
cmp word [esp + 0x50], 2
jne 0x3f125a81
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 0x80
lea eax, [eax + ebp + 0x6d]
jmp 0x3f125a81
mov dword [esp + 0x50], 1
jmp 0x3f125c5e
mov dword [esp + 0x50], 2
jmp 0x3f125c5e
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6e], 1
lea eax, [eax + ebp + 0x6e]
jmp 0x3f125a81
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x77], 2
lea eax, [eax + ebp + 0x77]
jmp 0x3f125532
mov eax, dword [esi + 0x242e4]
cmp word [eax + ebp + 0x1a], 0x1e63
jne 0x3f12556f
jmp 0x3f3b8311
and dword [esp + 0x24], 0
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
movzx eax, ax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x30], 0
je 0x3f125dac
movzx eax, word [esp + 0x30]
mov ecx, dword [esi + 0x242e8]
push 1
mov eax, dword [ecx + eax*4]
mov ecx, eax
and eax, 0xffff
sar ecx, 0x10
mov dword [esp + 0x54], ecx
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.3f11f2b8
movsx eax, word [esp + 0x50]
mov ecx, dword [esi + 0x242e4]
push 0
shl eax, 7
mov dword [esp + 0x4c], eax
push 0
mov ax, word [ecx + eax + 0x1a]
mov ecx, esi
push eax
call fcn.3f1214ec
mov ecx, dword [esp + 0x4c]
push eax
mov eax, dword [esi + 0x242e4]
mov ax, word [eax + ecx + 0x5a]
mov ecx, esi
push eax
call fcn.3f120121
test ax, ax
je 0x3f125d74
mov dword [esp + 0x34], 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.3f11f2b8
cmp word [esp + 0x34], 0
je 0x3f125da2
push 0
mov ecx, esi
push dword [esp + 0x54]
call fcn.3f101268
push eax
mov ecx, esi
push dword [esp + 0x28]
call fcn.3f101940
mov dword [esp + 0x24], eax
and dword [esp + 0x34], 0
jmp 0x3f125cf8
cmp word [esp + 0x24], 0
je 0x3f125593
push dword [esp + 0x24]
mov ecx, esi
push ebx
push edi
call fcn.3f10152e
jmp 0x3f125593
movsx edx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl edx, 7
mov cx, word [eax + ebp + 0x1a]
cmp cx, word [edx + eax + 0x1c]
je 0x3f1255c8
mov dword [esp + 0x20], ecx
jmp 0x3f1255c8
mov eax, dword [esi + 0x242e4]
add eax, ebp
test byte [eax + 0x75], 8
jne 0x3f125e0b
cmp cx, word [eax + 0x1a]
je 0x3f1255c8
or dword [esp + 0x20], 0xffffffff
jmp 0x3f1255c8
cmp word [esp + 0x14], 0x1ad2
jne 0x3f1255d5
jmp 0x3f3b832e
push ebx
push 0x41
mov ecx, esi
call fcn.3f10e0e0
jmp 0x3f1255f6
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x77], 0xfd
lea eax, [eax + ebp + 0x77]
jmp 0x3f12560f
push ebx
push edi
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
push ebx
movzx eax, ax
push 0xfe6
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x242e4]
mov dword [esp + 0x2c], eax
call fcn.3f1014d3
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
shl ecx, 7
cmp ax, word [ecx + edx + 0x1a]
je 0x3f3b837e
mov eax, edx
push ebx
push 0xfe6
mov ecx, esi
or byte [eax + ebp + 0x7c], 0x40
lea eax, [eax + ebp + 0x7c]
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e4]
mov word [ecx + ebp + 0x1a], ax
jmp 0x3f125625
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x70], 8
push ebx
push 0x101c
lea eax, [eax + ebp + 0x70]
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f12567b
push dword [esp + 0x30]
mov ecx, esi
push ebx
push 0x101c
call fcn.3f10152e
jmp 0x3f12567b
cmp word [esp + 0x1c], ax
je 0x3f125fd5
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov ax, word [eax + ebp + 0x1a]
push eax
call fcn.3f11cfe4
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7c], 0x20
push ebx
lea eax, [eax + ebp + 0x7c]
push 0xff3
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f125fd5
mov ax, word [esi + 0x136]
mov ecx, esi
push eax
call fcn.3f1205eb
test ax, ax
jne 0x3f125fd5
mov ax, word [esp + 0x38]
cmp word [esp + 0x50], ax
jge 0x3f125fd5
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
push dword [esp + 0x50]
shl eax, 7
push 1
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f11dcd4
push eax
mov ecx, esi
call fcn.3f1206eb
test ax, ax
je 0x3f125fd5
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x50]
sub ecx, eax
inc eax
push ecx
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f11dcd4
push eax
mov ecx, esi
call fcn.3f1206eb
test ax, ax
jne 0x3f125fd5
push ebx
push 0x1334
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
test byte [eax + ebp + 0x7c], 0x40
jne 0x3f126002
cmp word [esp + 0x28], 0
je 0x3f1256b1
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6f], 0x80
lea eax, [eax + ebp + 0x6f]
jmp 0x3f1256b1
push ebx
push 0x100f
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f126025
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7c], 0x80
lea eax, [eax + ebp + 0x7c]
jmp 0x3f125fe2
push 0x3f23182b
push ebx
push 0x100f
mov ecx, esi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f109c84
test ax, ax
je 0x3f125fe2
jmp 0x3f126014
mov eax, dword [esi + 0x242e4]
test byte [eax + ebp + 0x7c], 0x20
je 0x3f1256cb
push ebx
push 0xff3
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f1256cb
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x71], 4
lea eax, [eax + ebp + 0x71]
jmp 0x3f1256cb
mov eax, dword [esi + 0x242e4]
push 0xd91
mov ecx, esi
mov ax, word [eax + ebp + 0x1a]
push eax
call fcn.3f1056d0
test ax, ax
je 0x3f1256cb
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x78], 1
lea eax, [eax + ebp + 0x78]
jmp 0x3f1256cb
push ebx
push 0x11fc
mov ecx, esi
call fcn.3f11cff7
push ebx
push 0x11b0
jmp 0x3f1260d1
push ebx
push 0x11fc
mov ecx, esi
call fcn.3f11cff7
jmp 0x3f12572c
mov eax, dword [esi + 0x242e4]
add eax, ebp
test byte [eax + 0x6a], 0x60
je 0x3f125746
mov cl, byte [eax + 0x7c]
test cl, 6
je 0x3f125746
test byte [eax + 0x7b], 0x80
jne 0x3f125746
test cl, 1
jne 0x3f125746
push ebx
push 0x101c
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f125746
mov eax, dword [esi + 0x242e4]
cmp word [eax + ebp + 0x5c], 0x1e64
je 0x3f125746
push ebx
push 0x44
mov ecx, esi
call fcn.3f101c26
test ax, ax
jne 0x3f125746
push ebx
push 0x1278
mov ecx, esi
call fcn.3f11cff7
jmp 0x3f125746
push ebx
push 0x100f
mov ecx, esi
call fcn.3f1014d3
movzx eax, ax
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], 0
je 0x3f126200
movzx eax, word [esp + 0x34]
mov ecx, dword [esi + 0x242e8]
push 0
mov eax, dword [ecx + eax*4]
mov ecx, eax
and eax, 0xffff
sar ecx, 0x10
mov dword [esp + 0x54], ecx
push ecx
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.3f101268
push eax
push ebx
push 0xfe7
mov ecx, esi
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f101940
push eax
push ebx
push 0xfe7
mov ecx, esi
call fcn.3f10152e
mov eax, dword [esi + 0x242e4]
test byte [eax + ebp + 0x7c], 0x20
lea ecx, [eax + ebp]
je 0x3f126170
movsx edx, word [esp + 0x50]
shl edx, 7
add eax, edx
test byte [eax + 0x7c], 0x40
je 0x3f126170
mov ax, word [eax + 0x1a]
cmp word [ecx + 0x1a], ax
je 0x3f126170
mov word [ecx + 0x1a], ax
jmp 0x3f126170
push ebx
push 0xfe7
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f128736
test ax, ax
je 0x3f12624a
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [eax + ebp + 0x1a], cx
push 0
push ebx
push 0x100f
mov ecx, esi
call fcn.3f10152e
jmp 0x3f125764
mov ebp, dword [esp + 0x14]
push 0x1fa6
push ebp
mov ecx, esi
call fcn.3f1056d0
test ax, ax
jne 0x3f3b83a1
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
push 0x1802
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f126bd5
test ax, ax
jne 0x3f1262b2
cmp word [esi + 0x74e], 0
jne 0x3f1245be
jmp 0x3f3b848f
mov ax, word [esi + 0xc6]
mov ecx, esi
push eax
call fcn.3f101357
push eax
mov ecx, esi
call fcn.3f1804fd
test ax, ax
mov dword [esp + 0x48], eax
jne 0x3f1263cf
mov ax, word [esi + 0xc6]
mov ecx, esi
push eax
call fcn.3f1209ba
test ax, ax
je 0x3f1245be
mov ebp, dword [esp + 0x38]
mov ecx, dword [esi + 0x242e4]
lea eax, [ebp - 1]
push eax
push 1
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f11dcd4
cmp bp, 2
mov word [esi + 0xc6], ax
jle 0x3f1245be
push eax
mov ecx, esi
call fcn.3f1206eb
test ax, ax
je 0x3f1245be
push 0
mov ecx, esi
mov dword [esp + 0x14], 1
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
push eax
movsx ebp, ax
shl ebp, 7
push 0x12d8
mov dword [esp + 0x58], eax
mov word [ecx + ebp], 0x13af
mov ecx, dword [esi + 0x242e4]
mov dx, word [esi + 0xc6]
mov word [ecx + ebp + 0x1a], dx
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6f], 0x80
lea eax, [eax + ebp + 0x6f]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 0x10
lea eax, [eax + ebp + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7c], 8
lea ebp, [eax + ebp + 0x7c]
mov eax, dword [esp + 0x50]
movsx ecx, word [esi + 0x136]
mov edx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], ax
shl ecx, 7
mov word [ecx + edx + 0x46], ax
jmp 0x3f1245be
push 0
mov ecx, esi
mov dword [esp + 0x14], 1
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
push eax
movsx ebp, ax
shl ebp, 7
push 0x12d8
mov dword [esp + 0x58], eax
mov word [ecx + ebp], 0x13af
mov ecx, dword [esi + 0x242e4]
mov dx, word [esi + 0xc6]
mov word [ecx + ebp + 0x1a], dx
mov ecx, esi
call fcn.3f11cff7
movzx eax, word [esp + 0x48]
mov ecx, dword [esi + 0x242e8]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
mov word [ecx + ebp + 0x44], ax
mov ax, word [esi + 0xc6]
push eax
mov ecx, esi
call fcn.3f11cfe4
push eax
mov ecx, esi
push dword [esp + 0x54]
push 0xfc5
call fcn.3f10152e
push dword [esp + 0x50]
mov ecx, esi
push 0xfc5
call fcn.3f1014d3
cmp ax, 3
je 0x3f3b847b
push dword [esp + 0x50]
mov ecx, esi
push 0xfc5
call fcn.3f1014d3
cmp ax, 4
je 0x3f3b847b
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 4
lea eax, [eax + ebp + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 8
lea eax, [eax + ebp + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 0x10
lea ebp, [eax + ebp + 0x6d]
mov eax, dword [esp + 0x50]
jmp 0x3f1263ae
and word [eax + 0x46], 0
jmp 0x3f1245f5
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
cmp word [ecx + eax + 0x46], 0
je 0x3f3b85f7
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov dword [esp + 0x10], 1
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push 0x11d1
call fcn.3f11cff7
jmp 0x3f1245f5
movzx ebx, word [esi + 0x20]
mov ebp, 0x101d
xor edx, edx
cmp ebx, edx
je 0x3f1265a6
mov ecx, dword [esi + 0x242e8]
push edx
movzx eax, bx
mov eax, dword [ecx + eax*4]
mov ecx, eax
and eax, 0xffff
mov ebx, eax
mov ax, word [esi + 0x136]
sar ecx, 0x10
push eax
push ecx
mov ecx, esi
call fcn.3f120121
mov edi, eax
test di, di
je 0x3f126519
cmp word [esp + 0x44], 0
je 0x3f126569
push edi
push ebp
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f126596
push edi
mov ecx, esi
call fcn.3f12146f
push edi
push ebp
mov ecx, esi
call fcn.3f1014d3
test ax, ax
je 0x3f126519
mov ecx, dword [esi + 0x242e4]
movsx eax, di
shl eax, 7
or byte [ecx + eax + 0x77], 4
lea eax, [ecx + eax + 0x77]
jmp 0x3f126519
mov ax, word [esi + 0x78]
mov ecx, esi
push eax
push edi
push ebp
call fcn.3f10152e
jmp 0x3f126569
cmp word [esi + 0x74e], dx
je 0x3f1265b6
cmp word [esp + 0x10], dx
je 0x3f1265d5
cmp word [esp + 0x20], 0
pop ebx
jg 0x3f126bb9
pop edi
pop esi
pop ebp
add esp, 0x3c
ret 4
pop edi
pop esi
pop ebp
add esp, 0x3c
ret 4
mov ebx, dword [esp + 0x14]
push 1
pop edi
mov ecx, esi
push edi
push edi
push ebx
call fcn.3f11dcd4
mov ebp, 0x1723
cmp ax, bp
je 0x3f126624
mov ax, word [esi + 0x1b6]
mov ecx, esi
push eax
push edi
push edi
push ebx
call fcn.3f11dcd4
push eax
mov ecx, esi
call fcn.3f1011e8
test eax, eax
jne 0x3f1265b6
push 0x1735
push ebx
mov ecx, esi
call fcn.3f12086a
test ax, ax
jne 0x3f126771
mov ax, word [esi + 0x136]
mov ecx, esi
push eax
call fcn.3f1213de
test ax, ax
jne 0x3f1265b6
push ebx
mov ecx, esi
call fcn.3f129a6c
test ax, ax
jne 0x3f12678c
push 0x1e6a
push ebx
mov ecx, esi
call fcn.3f12086a
test ax, ax
jne 0x3f1266e3
push 0x1e6b
push ebx
mov ecx, esi
call fcn.3f12086a
test ax, ax
jne 0x3f1266e3
push 0x1e6c
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
jne 0x3f126830
push 0x1e6d
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
jne 0x3f126830
push 0x1e6e
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
jne 0x3f126830
push 0x1e6f
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
jne 0x3f126819
push 0x1e71
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
jne 0x3f126830
mov edi, 0x1e72
mov ecx, esi
push edi
push ebx
call fcn.3f1204c9
test ax, ax
jne 0x3f1268f5
mov ax, word [esi + 0x1b6]
mov ecx, esi
push eax
push 1
push ebx
call fcn.3f11cfe4
push eax
push ebx
mov ecx, esi
call fcn.3f11dcd4
push eax
mov ecx, esi
call fcn.3f1011e8
test eax, eax
je 0x3f126998
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
call fcn.3f1295d0
test ax, ax
je 0x3f1265b6
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
movsx ecx, word [ecx + eax + 0x46]
shl ecx, 7
or byte [ecx + eax + 0x77], 2
lea eax, [ecx + eax + 0x77]
jmp 0x3f1265b6
push 0x1e69
push ebx
mov ecx, esi
call fcn.3f12086a
test ax, ax
je 0x3f1265b6
jmp 0x3f126624
push 0
mov ecx, esi
call fcn.3f103667
mov ebx, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bx
shl edi, 7
push 0x195a
push ebx
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
movsx ecx, word [esi + 0x136]
lea eax, [edi + eax + 0x6d]
push 0xfc2
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov word [edi + eax], 0x13af
call fcn.3f10152e
mov eax, dword [esi + 0x242e4]
push ebx
mov ecx, esi
mov ax, word [edi + eax + 0x1a]
push eax
call fcn.3f269d82
push ebx
push 0x12d7
mov ecx, esi
call fcn.3f11cff7
jmp 0x3f126b98
push 0x1e70
push ebx
mov ecx, esi
call fcn.3f129006
test ax, ax
je 0x3f126830
jmp 0x3f1266cd
push 0
mov ecx, esi
call fcn.3f103667
mov ebp, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bp
shl edi, 7
push ebp
push 0x12d7
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
mov ecx, esi
lea eax, [edi + eax + 0x6d]
call fcn.3f11cff7
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
cmp word [esp + 0x1c], 0
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov eax, dword [esi + 0x242e4]
mov word [edi + eax], 0x13af
je 0x3f1268a2
cmp word [esp + 0x40], 0
jne 0x3f1268d0
push ebx
mov ecx, esi
call fcn.3f17f59d
test ax, ax
jne 0x3f1268e1
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], bp
shl eax, 7
mov word [eax + ecx + 0x46], bp
jmp 0x3f126725
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x71], 4
lea edi, [edi + eax + 0x71]
jmp 0x3f1268a2
push 0x19d7
push ebp
push 0xfc2
mov ecx, esi
call fcn.3f10152e
jmp 0x3f1268af
push ebp
push edi
push ebx
mov ecx, esi
call fcn.3f1204c9
push eax
mov ecx, esi
call fcn.3f11dbb6
test ax, ax
mov word [esi + 0xc6], ax
je 0x3f126725
xor ebp, ebp
mov ecx, esi
push ebp
push eax
call fcn.3f1201a3
mov ecx, dword [esi + 0x242e4]
mov edi, eax
movsx eax, di
shl eax, 7
cmp word [eax + ecx + 0x46], bp
jne 0x3f12694e
mov ebx, 0x104c
push edi
push ebx
mov ecx, esi
call fcn.3f1014d3
test ax, ax
jne 0x3f3b867a
mov eax, dword [esi + 0x242e4]
mov ecx, esi
movsx edi, di
shl edi, 7
mov ax, word [eax + edi + 0x46]
push eax
push 0x11b0
call fcn.3f1014ed
test ax, ax
je 0x3f126725
mov eax, dword [esi + 0x242e4]
mov di, word [edi + eax + 0x46]
movsx ecx, di
shl ecx, 7
cmp word [ecx + eax + 0x5c], 0x1e73
jne 0x3f126725
jmp 0x3f3b86a2
push dword [esp + 0x30]
mov ecx, esi
push ebx
call fcn.3f17f6d6
test ax, ax
jne 0x3f1269de
push ebx
mov ecx, esi
call fcn.3f17f743
test ax, ax
jne 0x3f126a8b
push ebx
mov ecx, esi
call fcn.3f17f59d
test ax, ax
jne 0x3f126b18
cmp word [esi + 0x74e], 0
jne 0x3f126725
jmp 0x3f3b86fe
push 0
mov ecx, esi
call fcn.3f103667
mov ebx, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bx
shl edi, 7
push ebx
push 0x12d7
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
movsx ecx, word [esi + 0x136]
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov word [edi + eax], 0x13af
call fcn.3f11cff7
cmp word [esp + 0x1c], 0
je 0x3f126b98
mov eax, dword [esi + 0x242e4]
or byte [eax + edi + 0x7e], 2
push ebx
push 0x11a4
lea eax, [edi + eax + 0x7e]
mov ecx, esi
mov eax, dword [esi + 0x242e4]
or byte [eax + edi + 0x7e], 8
lea eax, [edi + eax + 0x7e]
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x71], 4
lea edi, [edi + eax + 0x71]
jmp 0x3f126b98
push 0
mov ecx, esi
call fcn.3f103667
mov ebx, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bx
shl edi, 7
push ebx
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
movsx ecx, word [esi + 0x136]
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov ax, word [edi + eax + 0x1a]
push eax
call fcn.3f3783a8
push ebx
push 0x12d7
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
push 0x1aa7
mov word [edi + eax], 0x13af
push ebx
push 0xfc2
mov ecx, esi
call fcn.3f10152e
jmp 0x3f126b98
push 0
mov ecx, esi
call fcn.3f103667
mov ebx, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bx
shl edi, 7
push ebx
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
movsx ecx, word [esi + 0x136]
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov eax, dword [esi + 0x242e4]
mov ecx, esi
mov ax, word [edi + eax + 0x1a]
push eax
call fcn.3f25f0fd
push ebx
push 0x12d7
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
push 0x19d7
mov word [edi + eax], 0x13af
jmp 0x3f126b06
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], bx
shl eax, 7
mov word [eax + ecx + 0x46], bx
jmp 0x3f126725
cmp word [esp + 0xc], 1
jle 0x3f1265cc
push dword [esp + 0x1c]
mov ecx, esi
call fcn.3f233328
jmp 0x3f1265cc
movzx edi, word [esi + 0x20]
cmp edi, ebp
je 0x3f1265cc
mov ecx, dword [esi + 0x242e8]
push ebp
movzx eax, di
push ebp
mov eax, dword [ecx + eax*4]
mov ecx, eax
and eax, 0xffff
mov edi, eax
mov ax, word [esi + 0x136]
sar ecx, 0x10
push eax
push ecx
mov ecx, esi
call fcn.3f11ce6d
jmp 0x3f3b7f93
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
mov word [eax + ecx + 0x48], bp
jmp 0x3f124247
mov eax, dword [esi + 0x242e4]
push 0x1bfc
movsx ebx, bp
shl ebx, 7
mov ecx, esi
mov dword [esp + 0x38], ebx
mov ax, word [eax + ebx + 0x1a]
push eax
call fcn.3f1204c9
test ax, ax
je 0x3f12475a
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
shl eax, 7
cmp word [eax + ecx + 0x4c], 0
jne 0x3f3b809d
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
push eax
movsx ebx, ax
shl ebx, 7
push 0x11c5
mov dword [esp + 0x58], eax
mov word [ecx + ebx], 0x13ab
mov ecx, dword [esi + 0x242e4]
or byte [ecx + ebx + 0x6a], 0x10
lea ecx, [ecx + ebx + 0x6a]
mov ecx, esi
call fcn.3f11cff7
movsx ecx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [ebx + eax + 0x1a], cx
mov eax, dword [esp + 0x50]
movsx ecx, word [esi + 0x136]
mov edx, dword [esi + 0x242e4]
mov ebx, dword [esp + 0x34]
shl ecx, 7
mov word [esi + 0x2a8f8], ax
mov word [ecx + edx + 0x4c], ax
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x6d], 8
lea eax, [ebx + eax + 0x6d]
jmp 0x3f12475a
mov cl, byte [eax + 0x6a]
test cl, 0x10
je 0x3f124a07
and cl, 0xef
mov byte [eax + 0x6a], cl
jmp 0x3f124a07
movsx ecx, word [esi + 0x136]
nop
mov eax, dword [esi + 0x242e4]
shl ecx, 7
movsx edx, word [ecx + eax + 0x4a]
lea ecx, [ecx + eax + 0x4a]
shl edx, 7
test byte [edx + eax + 0x7c], 0x10
je 0x3f1242fa
and word [ecx], 0
jmp 0x3f1242fa
mov ax, word [esi + 0x76]
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push ebp
call fcn.3f10152e
jmp 0x3f124c99
mov ax, word [esi + 0xa6]
mov ecx, dword [esi + 0x242e4]
dec ax
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x4a]
mov ecx, esi
push eax
push ebp
call fcn.3f10152e
jmp 0x3f124cc1
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
push 0x1294
call fcn.3f1014ed
test ax, ax
jne 0x3f3b81af
jmp 0x3f124e41
push dword [esp + 0x50]
mov ecx, esi
push edi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x242e4]
sar eax, 0x10
shl eax, 7
test byte [eax + ecx + 0x7d], 4
je 0x3f1243e0
mov ax, word [esi + 0x76]
mov ecx, esi
push eax
push ebx
push ebp
call fcn.3f10152e
mov ax, word [esi + 0xa6]
mov ecx, esi
dec ax
push eax
push dword [esp + 0x54]
push ebp
call fcn.3f10152e
jmp 0x3f1243e0
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, eax
mov eax, dword [esi + 0x242e4]
movsx ebx, cx
shl ebx, 7
mov dword [esp + 0x50], ecx
push ecx
mov word [eax + ebx], 0x13af
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x6d], 0x10
push 0x11b0
lea eax, [ebx + eax + 0x6d]
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
or byte [eax + ebx + 0x7e], 0x40
push 0x1f83
mov ecx, esi
push dword [esp + 0x18]
lea eax, [eax + ebx + 0x7e]
call fcn.3f1056d0
test ax, ax
mov eax, dword [esi + 0x242e4]
je 0x3f3b8248
mov word [eax + ebx + 0x1a], 0x1e60
jmp 0x3f3b824f
mov word [eax + ebx + 0x1a], 0x1e61
movsx ecx, word [esi + 0x136]
mov eax, dword [esp + 0x50]
mov edx, dword [esi + 0x242e4]
shl ecx, 7
mov word [esi + 0x2a8f8], ax
mov word [ecx + edx + 0x46], ax
jmp 0x3f1244b5
push 0
push 2
mov ecx, esi
call fcn.3f101268
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push ebx
call fcn.3f1014d3
push eax
mov ecx, esi
call fcn.3f101940
mov ecx, dword [esi + 0x242e4]
push eax
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [ecx + eax + 0x46]
mov ecx, esi
push eax
push ebx
call fcn.3f10152e
jmp 0x3f124510
push 2
push ebx
push 0xfc5
mov ecx, esi
call fcn.3f10152e
jmp 0x3f125501
mov ax, word [esi + 0x136]
push 0
push 0
push eax
push dword [esp + 0x24]
mov ecx, esi
call fcn.3f11ce6d
jmp 0x3f12456b
movsx edx, word [esi + 0x136]
shl edx, 7
mov ax, word [edx + eax + 0x1c]
mov word [ecx], ax
jmp 0x3f125548
mov ax, word [esi + 0x136]
push 0
push 0
push eax
push 0xfd1
mov ecx, esi
call fcn.3f11ce6d
jmp 0x3f12556f
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x77], 0xbf
lea eax, [eax + ebp + 0x77]
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x77], 0x7f
lea eax, [eax + ebp + 0x77]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x78], 1
lea eax, [eax + ebp + 0x78]
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x7b], 0x7f
lea eax, [eax + ebp + 0x7b]
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x7c], 0xfd
lea eax, [eax + ebp + 0x7c]
jmp 0x3f1255d5
push 0
push ebx
push 0xfe6
mov ecx, esi
call fcn.3f10152e
mov eax, dword [esi + 0x242e4]
and byte [eax + ebp + 0x7c], 0xbf
lea eax, [eax + ebp + 0x7c]
jmp 0x3f125625
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
mov ebx, eax
movsx eax, bx
shl eax, 7
cmp word [esp + 0x28], 0
mov word [eax + ecx], 0x13af
mov ecx, dword [esi + 0x242e4]
mov word [eax + ecx + 0x1a], bp
jne 0x3f3b83d9
cmp word [esp + 0x1c], 0
je 0x3f3b83f7
mov ecx, dword [esi + 0x242e4]
or byte [eax + ecx + 0x7c], 0x20
lea ecx, [eax + ecx + 0x7c]
mov ecx, dword [esi + 0x242e4]
or byte [eax + ecx + 0x71], 4
lea ecx, [eax + ecx + 0x71]
mov ecx, dword [esi + 0x242e4]
or byte [ecx + eax + 0x6d], 4
push ebx
push 0x11fc
lea ecx, [ecx + eax + 0x6d]
mov ecx, dword [esi + 0x242e4]
or byte [eax + ecx + 0x6d], 8
lea eax, [eax + ecx + 0x6d]
mov ecx, esi
call fcn.3f11cff7
push ebx
push 0x11b0
mov ecx, esi
call fcn.3f11cff7
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], bx
shl eax, 7
mov dword [esp + 0x10], 1
mov word [eax + ecx + 0x46], bx
mov cx, word [esi + 0x136]
mov eax, dword [esi + 0x242e4]
movsx edx, cx
shl edx, 7
mov bx, word [edx + eax + 0x46]
movsx edx, bx
shl edx, 7
mov word [edx + eax + 0x1e], cx
jmp 0x3f3b85c8
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7f], 0x20
lea eax, [eax + ebp + 0x7f]
jmp 0x3f126485
push 0x1e65
push ebp
mov ecx, esi
call fcn.3f126bd5
test ax, ax
jne 0x3f3b84db
push 0x1e66
push ebp
mov ecx, esi
call fcn.3f126bd5
test ax, ax
jne 0x3f3b84db
push 0x1e67
push ebp
mov ecx, esi
call fcn.3f126bd5
test ax, ax
jne 0x3f3b84db
push 0x1e68
push ebp
mov ecx, esi
call fcn.3f126bd5
test ax, ax
je 0x3f1245be
mov ax, word [esi + 0xc6]
mov ecx, esi
push eax
call fcn.3f1208bb
test ax, ax
je 0x3f1245be
push 0
mov ecx, esi
mov dword [esp + 0x14], 1
call fcn.3f103667
movsx ebp, ax
mov dword [esp + 0x50], eax
mov eax, dword [esi + 0x242e4]
shl ebp, 7
push 0
mov word [eax + ebp], 0x13af
mov eax, dword [esi + 0x242e4]
mov cx, word [esi + 0xc6]
mov word [eax + ebp + 0x1a], cx
mov ecx, dword [esi + 0x242e4]
movsx eax, word [esi + 0x136]
shl eax, 7
mov ax, word [eax + ecx + 0x1c]
mov ecx, esi
push eax
call fcn.3f120d51
push eax
mov ecx, esi
push dword [esp + 0x54]
push 0x10af
call fcn.3f10152e
push dword [esp + 0x50]
mov ecx, esi
push 0x12d8
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x7e], 0x80
lea eax, [eax + ebp + 0x7e]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 4
lea eax, [eax + ebp + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 8
lea eax, [eax + ebp + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [eax + ebp + 0x6d], 0x10
movsx ecx, word [esi + 0x136]
lea ebp, [eax + ebp + 0x6d]
mov eax, dword [esp + 0x50]
mov edx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], ax
shl ecx, 7
mov word [ecx + edx + 0x46], ax
test bx, bx
je 0x3f1245be
cmp word [esp + 0x3c], 0
je 0x3f1245be
mov ecx, dword [esi + 0x242e4]
movsx eax, bx
shl eax, 7
or byte [ecx + eax + 0x77], 2
lea eax, [ecx + eax + 0x77]
jmp 0x3f1245be
push 0
mov ecx, esi
call fcn.3f103667
mov ecx, dword [esi + 0x242e4]
mov ebp, eax
movsx eax, bp
shl eax, 7
push ebp
push 0x12d8
mov word [eax + ecx], 0x13af
mov ecx, dword [esi + 0x242e4]
movsx edx, word [esi + 0x136]
shl edx, 7
mov dx, word [edx + ecx + 0x1c]
mov word [eax + ecx + 0x1a], dx
mov ecx, dword [esi + 0x242e4]
or byte [ecx + eax + 0x6d], 4
lea ecx, [ecx + eax + 0x6d]
mov ecx, dword [esi + 0x242e4]
or byte [eax + ecx + 0x6d], 8
lea eax, [eax + ecx + 0x6d]
mov ecx, esi
call fcn.3f11cff7
movsx eax, word [esi + 0x136]
mov ecx, dword [esi + 0x242e4]
mov word [esi + 0x2a8f8], bp
shl eax, 7
mov word [eax + ecx + 0x46], bp
jmp 0x3f1264e1
push edi
push ebx
mov ecx, esi
call fcn.3f1014d3
mov ecx, dword [esi + 0x242e8]
push ebp
movzx eax, ax
mov eax, dword [ecx + eax*4]
mov ecx, esi
sar eax, 0x10
push eax
call fcn.3f1201a3
mov edi, eax
jmp 0x3f12694e
push edi
mov ecx, esi
call fcn.3f103667
mov edx, dword [esi + 0x242e4]
movsx ecx, ax
shl ecx, 7
or byte [ecx + edx + 0x6d], 0x10
lea edx, [edx + ecx + 0x6d]
mov edx, dword [esi + 0x242e4]
and byte [edx + ecx + 0x6d], 0xfb
lea edx, [edx + ecx + 0x6d]
mov edx, dword [esi + 0x242e4]
and byte [ecx + edx + 0x6d], 0xf7
mov word [esi + 0x2a8f8], ax
lea ecx, [ecx + edx + 0x6d]
mov edx, dword [esi + 0x242e4]
movsx ecx, word [esi + 0x136]
shl ecx, 7
mov word [ecx + edx + 0x46], ax
jmp 0x3f126725
push 0x1704
push ebx
mov ecx, esi
call fcn.3f12086a
test ax, ax
jne 0x3f126725
push 0x1e5c
push ebx
mov ecx, esi
call fcn.3f121310
test ax, ax
jne 0x3f126725
push ebx
mov ecx, esi
call fcn.3f3b7f00
test ax, ax
je 0x3f126725
push 0
mov ecx, esi
call fcn.3f103667
mov ebx, eax
mov eax, dword [esi + 0x242e4]
movsx edi, bx
shl edi, 7
push ebx
push 0x12d7
or byte [edi + eax + 0x6d], 4
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
or byte [edi + eax + 0x6d], 8
movsx ecx, word [esi + 0x136]
lea eax, [edi + eax + 0x6d]
mov eax, dword [esi + 0x242e4]
shl ecx, 7
mov cx, word [ecx + eax + 0x1c]
mov word [edi + eax + 0x1a], cx
mov ecx, esi
call fcn.3f11cff7
mov eax, dword [esi + 0x242e4]
cmp word [esp + 0x1c], 0
mov word [edi + eax], 0x13af
je 0x3f126b98
jmp 0x3f126a77