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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1c0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1b8], eax
mov word [esp + 0x2a], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x20], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x14], 0
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1a4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0xc], 0x6cacdb52
mov eax, dword [esp + 0xc]
mov ecx, eax
sub ecx, 0x8001e29c
mov dword [esp + 8], eax
je 0x10014264
jmp 0x100135ad
mov eax, dword [esp + 8]
sub eax, 0x80edd9be
je 0x10014351
jmp 0x100135c1
mov eax, dword [esp + 8]
sub eax, 0x882c56c6
je 0x10014615
jmp 0x100135d5
mov eax, dword [esp + 8]
sub eax, 0x8bf20e3c
je 0x10014934
jmp 0x100135e9
mov eax, dword [esp + 8]
sub eax, 0x8c866d15
je 0x1001477d
jmp 0x100135fd
mov eax, dword [esp + 8]
sub eax, 0x8cca931c
je 0x100141e9
jmp 0x10013611
mov eax, dword [esp + 8]
sub eax, 0x91104ccb
je 0x10014df8
jmp 0x10013625
mov eax, dword [esp + 8]
sub eax, 0x91442753
je 0x10013e03
jmp 0x10013639
mov eax, dword [esp + 8]
sub eax, 0x935646b5
je 0x100142ce
jmp 0x1001364d
mov eax, dword [esp + 8]
sub eax, 0x950062fe
je 0x1001486c
jmp 0x10013661
mov eax, dword [esp + 8]
sub eax, 0x95602ae2
je 0x10014804
jmp 0x10013675
mov eax, dword [esp + 8]
sub eax, 0x983faacc
je 0x100140fa
jmp 0x10013689
mov eax, dword [esp + 8]
sub eax, 0x9b1634d0
je 0x100142b7
jmp 0x1001369d
mov eax, dword [esp + 8]
sub eax, 0x9b9d6cd1
je 0x10014879
jmp 0x100136b1
mov eax, dword [esp + 8]
sub eax, 0xa92aa16c
je 0x10014deb
jmp 0x100136c5
mov eax, dword [esp + 8]
sub eax, 0xb378581d
je 0x10014282
jmp 0x100136d9
mov eax, dword [esp + 8]
sub eax, 0xbb97d44b
je 0x100140de
jmp 0x100136ed
mov eax, dword [esp + 8]
sub eax, 0xbceef0b4
je 0x1001485f
jmp 0x10013701
mov eax, dword [esp + 8]
sub eax, 0xc50388a6
je 0x10014978
jmp 0x10013715
mov eax, dword [esp + 8]
sub eax, 0xc76d15cf
je 0x10014dc2
jmp 0x10013729
mov eax, dword [esp + 8]
sub eax, 0xccd35aa2
je 0x100148e6
jmp 0x1001373d
mov eax, dword [esp + 8]
sub eax, 0xccfbbd47
je 0x10014608
jmp 0x10013751
mov eax, dword [esp + 8]
sub eax, 0xd3222525
je 0x10014dde
jmp 0x10013765
mov eax, dword [esp + 8]
sub eax, 0xd5365a63
je 0x10013bba
jmp 0x10013779
mov eax, dword [esp + 8]
sub eax, 0xdf710093
je 0x10013de7
jmp 0x1001378d
mov eax, dword [esp + 8]
sub eax, 0xe0d08e41
je 0x10014710
jmp 0x100137a1
mov eax, dword [esp + 8]
sub eax, 0xe0e5fa1c
je 0x100141c2
jmp 0x100137b5
mov eax, dword [esp + 8]
sub eax, 0xe34d024a
je 0x10014b51
jmp 0x100137c9
mov eax, dword [esp + 8]
sub eax, 0xee18020b
je 0x10013d06
jmp 0x100137dd
mov eax, dword [esp + 8]
sub eax, 0xeeb5a5e3
je 0x10013f1b
jmp 0x100137f1
mov eax, dword [esp + 8]
sub eax, 0xfbdc0e04
je 0x1001443a
jmp 0x10013805
mov eax, dword [esp + 8]
sub eax, 0xff32307a
je 0x100142ec
jmp 0x10013819
mov eax, dword [esp + 8]
sub eax, 0x505247b
je 0x10014c4b
jmp 0x1001382d
mov eax, dword [esp + 8]
sub eax, 0xb57df67
je 0x10013d61
jmp 0x10013841
mov eax, dword [esp + 8]
sub eax, 0xb9605ac
je 0x100141dc
jmp 0x10013855
mov eax, dword [esp + 8]
sub eax, 0x123b4828
je 0x100143d7
jmp 0x10013869
mov eax, dword [esp + 8]
sub eax, 0x1ad7e9fb
je 0x10013bf5
jmp 0x1001387d
mov eax, dword [esp + 8]
sub eax, 0x1c345db8
je 0x10014303
jmp 0x10013891
mov eax, dword [esp + 8]
sub eax, 0x1dbe83c5
je 0x10014c3e
jmp 0x100138a5
mov eax, dword [esp + 8]
sub eax, 0x1fba1d2c
je 0x10014a92
jmp 0x100138b9
mov eax, dword [esp + 8]
sub eax, 0x22e13a09
je 0x1001418c
jmp 0x100138cd
mov eax, dword [esp + 8]
sub eax, 0x279eb296
je 0x10014e05
jmp 0x100138e1
mov eax, dword [esp + 8]
sub eax, 0x27baf152
je 0x100146c2
jmp 0x100138f5
mov eax, dword [esp + 8]
sub eax, 0x2f36c8da
je 0x1001465c
jmp 0x10013909
mov eax, dword [esp + 8]
sub eax, 0x2fdb2d1c
je 0x10014207
jmp 0x1001391d
mov eax, dword [esp + 8]
sub eax, 0x38aa1c29
je 0x100146b5
jmp 0x10013931
mov eax, dword [esp + 8]
sub eax, 0x38ae3cc2
je 0x10014b0a
jmp 0x10013945
mov eax, dword [esp + 8]
sub eax, 0x3aa6134d
je 0x10013b32
jmp 0x10013959
mov eax, dword [esp + 8]
sub eax, 0x3ef0467c
je 0x10013e4b
jmp 0x1001396d
mov eax, dword [esp + 8]
sub eax, 0x456050b3
je 0x10014299
jmp 0x10013981
mov eax, dword [esp + 8]
sub eax, 0x4fcf4a84
je 0x10013f28
jmp 0x10013995
mov eax, dword [esp + 8]
sub eax, 0x4fdaa979
je 0x10014171
jmp 0x100139a9
mov eax, dword [esp + 8]
sub eax, 0x51a8f266
je 0x1001494e
jmp 0x100139bd
mov eax, dword [esp + 8]
sub eax, 0x531f6ded
je 0x100141cf
jmp 0x100139d1
mov eax, dword [esp + 8]
sub eax, 0x5455b377
je 0x10014afd
jmp 0x100139e5
mov eax, dword [esp + 8]
sub eax, 0x55c81ac4
je 0x10013e99
jmp 0x100139f9
mov eax, dword [esp + 8]
sub eax, 0x5d0a2107
je 0x10014941
jmp 0x10013a0d
mov eax, dword [esp + 8]
sub eax, 0x6177430d
je 0x10013d13
jmp 0x10013a21
mov eax, dword [esp + 8]
sub eax, 0x6183a725
je 0x10014996
jmp 0x10013a35
mov eax, dword [esp + 8]
sub eax, 0x68c368e0
je 0x10013c61
jmp 0x10013a49
mov eax, dword [esp + 8]
sub eax, 0x6cacdb52
je 0x10013b02
jmp 0x10013a5d
mov eax, dword [esp + 8]
sub eax, 0x6cc587b2
je 0x100143f3
jmp 0x10013a71
mov eax, dword [esp + 8]
sub eax, 0x7356f36d
je 0x10014797
jmp 0x10013a85
mov eax, dword [esp + 8]
sub eax, 0x76cca29c
je 0x10014a0a
jmp 0x10013a99
mov eax, dword [esp + 8]
sub eax, 0x78e8b997
je 0x1001478a
mov eax, dword [ebp + 0xc]
mov ecx, eax
add ecx, 0x45cd35f4
add ecx, 0xffffffff
sub ecx, 0x45cd35f4
mov dword [ebp + 0xc], ecx
cmp eax, 0
mov eax, 0x3aa6134d
mov ecx, 0xc50388a6
cmovne ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x19c], eax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax]
mov ecx, 0xffffffff
xor ecx, 0xfff
mov edx, eax
xor edx, ecx
and edx, eax
mov word [esp + 0x2a], dx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x198], eax
mov eax, dword [ebp + 8]
movzx ecx, word [esp + 0x2a]
sub eax, 0x5b436a66
add eax, ecx
add eax, 0x5b436a66
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x194], eax
mov eax, dword [ebp + 0x10]
movzx eax, word [eax]
sar eax, 0xc
mov word [esp + 0x12], ax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x190], ecx
movsx ecx, word [esp + 0x12]
cmp ecx, 3
mov ecx, 0xd5365a63
mov esi, 0x1ad7e9fb
cmove esi, ecx
mov dword [esp + 0xc], esi
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov esi, dword [edx]
mov edi, eax
sub edi, esi
mov esi, eax
sub esi, ecx
add edi, esi
sub eax, edi
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0xc], 0x51a8f266
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 1
mov eax, 0x7d246cc7
mov ecx, 0x6177430d
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x2c]
movzx ecx, word [ecx]
shl ecx, 0x10
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
sub edx, 0xa37248a8
add edx, ecx
add edx, 0xa37248a8
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x24]
sar ecx, 0x10
mov edx, dword [esp + 0x2c]
mov word [edx], cx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x178], edx
mov edx, dword [0x100160c8]
mov esi, dword [0x100160c4]
sub eax, 1
mov edi, edx
add edi, eax
imul edx, edi
and edx, 1
cmp edx, 0
sete bl
cmp esi, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov edx, 0xee18020b
mov esi, 0x1fba1d2c
cmovne esi, edx
mov dword [esp + 0xc], esi
jmp 0x10014e0d
mov dword [esp + 0xc], 0x5d0a2107
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0x2ab37d6b
sub edx, 1
add edx, 0x2ab37d6b
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xb57df67
mov edx, 0x5455b377
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 4
sete cl
and cl, 1
mov byte [esp + 0x41], cl
mov eax, dword [0x100160c8]
mov edx, dword [0x100160c4]
mov esi, eax
sub esi, 0x905ef226
sub esi, 1
add esi, 0x905ef226
imul eax, esi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 1
mov ah, bl
and ah, 0xff
and cl, al
mov dl, bh
and dl, 0xff
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 1
and bl, al
or ah, bl
test ah, 1
mov esi, 0xdf710093
mov edi, 0x5455b377
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov al, byte [esp + 0x41]
test al, 1
mov ecx, 0x91442753
mov edx, 0x8cca931c
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x174], eax
movzx eax, word [esp + 0x2a]
xor eax, 0xffffffff
mov ecx, 0xffffffff
mov edx, ecx
xor edx, 2
xor ecx, 0x71d1be67
or eax, edx
or ecx, 0x71d1be67
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0
mov eax, 0x3ef0467c
mov ecx, 0x4fcf4a84
cmovne ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
add edx, 0x80fb818b
sub edx, 1
sub edx, 0x80fb818b
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x55c81ac4
mov edx, 0x38ae3cc2
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x170], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x16c], ecx
mov ecx, dword [ebp + 0xc]
sub eax, 0xffffffff
sub ecx, eax
mov dword [ebp + 0xc], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x168], eax
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
add edx, 0x42ff57eb
sub edx, 1
sub edx, 0x42ff57eb
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xeeb5a5e3
mov edx, 0x38ae3cc2
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov dword [esp + 0xc], 0xb9605ac
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0x1f1f5501
sub edx, 1
add edx, 0x1f1f5501
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x7aeea204
mov edi, 0xe34d024a
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov al, byte [esp + 0x42]
test al, 1
mov ecx, 0x983faacc
mov edx, 0x4fdaa979
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x13c], eax
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax - 2]
mov edx, ecx
xor edx, 0xffffffff
mov esi, 0xffffffff
mov edi, esi
xor edi, 1
xor esi, 0x3a6cde5d
mov ebx, edx
and ebx, 0x3a6cde5d
and ecx, esi
mov dword [esp + 4], edi
and edi, 0x3a6cde5d
mov dword [esp], esi
and esi, 1
or ebx, ecx
or edi, esi
xor ebx, edi
mov ecx, dword [esp + 4]
or edx, ecx
xor edx, 0xffffffff
mov esi, dword [esp]
or esi, 0x3a6cde5d
and edx, esi
or ebx, edx
mov word [eax - 2], bx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x138], eax
mov dword [esp + 0xc], 0x531f6ded
jmp 0x10014e0d
cmp dword [esp + 0x14], 0
mov eax, 0x22e13a09
mov ecx, 0xe0e5fa1c
cmovne ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x134], eax
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax - 2]
mov edx, ecx
and edx, 2
xor ecx, 2
or edx, ecx
mov word [eax - 2], dx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x130], eax
mov dword [esp + 0xc], 0xe0e5fa1c
jmp 0x10014e0d
mov dword [esp + 0xc], 0x531f6ded
jmp 0x10014e0d
mov dword [esp + 0xc], 0xb9605ac
jmp 0x10014e0d
mov dword [esp + 0xc], 0x9b9d6cd1
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 2
mov eax, 0x2fdb2d1c
mov ecx, 0x8001e29c
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x2c]
movsx ecx, word [ecx]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
sub eax, ecx
sub edx, eax
mov dword [esp + 0x24], edx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov word [ecx], ax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x120], ecx
mov dword [esp + 0xc], 0x950062fe
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 0
mov eax, 0xb378581d
mov ecx, 0x456050b3
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x11c], eax
mov dword [esp + 0xc], 0xbceef0b4
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 6
mov eax, 0x9b1634d0
mov ecx, 0x935646b5
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x118], eax
mov dword [esp + 0xc], 0x7356f36d
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 7
mov eax, 0xff32307a
mov ecx, 0x1c345db8
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x114], eax
mov dword [esp + 0xc], 0x78e8b997
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
add edx, 0x5a3de72f
sub edx, 1
sub edx, 0x5a3de72f
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x80edd9be
mov edx, 0x1dbe83c5
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
movsx eax, word [esp + 0x12]
cmp eax, 0xb
sete cl
and cl, 1
mov byte [esp + 0x43], cl
mov eax, dword [0x100160c8]
mov edx, dword [0x100160c4]
mov esi, eax
sub esi, 0x100cff1a
sub esi, 1
add esi, 0x100cff1a
imul eax, esi
and eax, 1
cmp eax, 0
sete cl
cmp edx, 0xa
setl ch
mov bl, cl
xor bl, 0xff
mov bh, ch
xor bh, 0xff
mov al, 1
xor al, 0
mov ah, bl
and ah, 0
and cl, al
mov dl, bh
and dl, 0
and ch, al
or ah, cl
or dl, ch
xor ah, dl
or bl, bh
xor bl, 0xff
or al, 0
and bl, al
or ah, bl
test ah, 1
mov esi, 0x123b4828
mov edi, 0x1dbe83c5
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov al, byte [esp + 0x43]
test al, 1
mov ecx, 0x6cc587b2
mov edx, 0x882c56c6
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xfbdc0e04
mov edx, 0x505247b
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x110], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x10c], ecx
mov ecx, dword [ebp + 0xc]
dec ecx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x2c]
movzx ecx, word [ecx]
shl ecx, 0x10
mov edx, ecx
sar edx, 0x1f
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x104], ecx
mov ecx, dword [ebp + 0x10]
movsx ecx, word [ecx + 2]
mov edx, ecx
sar edx, 0x1f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esi, ecx
adc edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, ecx
shl esi, 0x10
shld edx, ecx, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xfc], ecx
mov ecx, dword [ebp + 0x10]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add edx, ecx
adc esi, 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esi, ecx
adc edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x8000
adc dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xf0], ecx
movzx ecx, word [esp + 0x1a]
mov edx, dword [esp + 0x1c]
mov esi, edx
shl esi, 0x10
or ecx, esi
sar edx, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xec], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x8000
adc dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xe8], ecx
mov bx, word [esp + 0x1a]
mov ecx, dword [esp + 0x2c]
mov word [ecx], bx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xe4], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xe0], ecx
mov ecx, dword [ebp + 0xc]
mov edx, eax
sub edx, 0xffffffff
sub ecx, edx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xdc], ecx
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete al
cmp edx, 0xa
setl ah
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov edx, 0xccfbbd47
mov esi, 0x505247b
cmovne esi, edx
mov dword [esp + 0xc], esi
jmp 0x10014e0d
mov dword [esp + 0xc], 0x27baf152
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x2f36c8da
mov edx, 0xc76d15cf
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x3c], 0
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x38aa1c29
mov edx, 0xc76d15cf
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov dword [esp + 0xc], 0x6183a725
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0x515f4f6f
sub edx, 1
add edx, 0x515f4f6f
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0xe0d08e41
mov edx, 0xd3222525
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x8c866d15
mov edi, 0xd3222525
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov dword [esp + 0xc], 0x78e8b997
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov ch, al
and ch, 0
and bl, cl
mov dl, ah
and dl, 0
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or ch, al
test ch, 1
mov esi, 0x95602ae2
mov edi, 0xa92aa16c
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0xb958273d
sub edx, 1
add edx, 0xb958273d
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x79a6836e
mov edx, 0xa92aa16c
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov dword [esp + 0xc], 0x950062fe
jmp 0x10014e0d
mov dword [esp + 0xc], 0x9b9d6cd1
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [0x100160c8]
mov edx, dword [0x100160c4]
sub eax, 1
mov esi, ecx
add esi, eax
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0xccd35aa2
mov edi, 0x91104ccb
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0xb853a3f6
sub edx, 1
add edx, 0xb853a3f6
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
and al, bh
xor bl, bh
or al, bl
test al, 1
mov ecx, 0x8bf20e3c
mov edx, 0x91104ccb
cmovne edx, ecx
mov dword [esp + 0xc], edx
jmp 0x10014e0d
mov dword [esp + 0xc], 0x5d0a2107
jmp 0x10014e0d
mov dword [esp + 0xc], 0x51a8f266
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xd4], eax
mov eax, dword [ebp + 0x10]
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc], 0x6cacdb52
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xcc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x3c], eax
mov dword [esp + 0xc], 0x6183a725
jmp 0x10014e0d
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0xa27e5610
sub edx, 1
add edx, 0xa27e5610
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x76cca29c
mov edi, 0x279eb296
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [0x100160c8]
mov ecx, dword [0x100160c4]
mov edx, eax
sub edx, 0x9e77906
sub edx, 1
add edx, 0x9e77906
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov ch, al
and ch, 0xff
and bl, cl
mov dl, ah
and dl, 0xff
and bh, cl
or ch, bl
or dl, bh
xor ch, dl
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or ch, al
test ch, 1
mov esi, 0x7d8775ad
mov edi, 0x279eb296
cmovne edi, esi
mov dword [esp + 0xc], edi
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax]
shl eax, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
sub ecx, 0xa96f481a
add ecx, eax
add ecx, 0xa96f481a
mov dword [esp + 0x24], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x24]
sar eax, 0x10
mov ecx, dword [esp + 0x2c]
mov word [ecx], ax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc], 0x68c368e0
jmp 0x10014e0d
mov dword [esp + 0xc], 0xb57df67
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x10]
add eax, 2
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb4], eax
mov eax, dword [ebp + 0xc]
add eax, 0x534650dd
add eax, 0xffffffff
sub eax, 0x534650dd
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xc], 0x55c81ac4
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x2c]
movzx ecx, word [ecx]
shl ecx, 0x10
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xa4], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebp + 0xc]
dec ecx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x9c], ecx
mov ecx, dword [ebp + 0x10]
movsx ecx, word [ecx]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x24], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x24]
add ecx, 0x8000
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x90], ecx
mov si, word [esp + 0x26]
mov ecx, dword [esp + 0x2c]
mov word [ecx], si
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
sub ecx, edx
shr ecx, 0x10
mov edx, dword [esp + 0x30]
shr edx, 0x10
sub eax, edx
add ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x88], eax
mov dword [esp + 0xc], 0x7aeea204
jmp 0x10014e0d
mov dword [esp + 0xc], 0x80edd9be
jmp 0x10014e0d
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x80], ecx
mov ecx, dword [ebp + 0xc]
dec ecx
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x2c]
movzx ecx, word [ecx]
shl ecx, 0x10
mov edx, ecx
sar edx, 0x1f
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebp + 0x10]
movsx ecx, word [ecx + 2]
mov edx, ecx
sar edx, 0x1f
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esi, ecx
adc edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, ecx
shl esi, 0x10
shld edx, ecx, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x10]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add edx, ecx
adc esi, 0
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], esi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add esi, ecx
adc edi, edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x8000
adc dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x64], ecx
movzx ecx, word [esp + 0x1a]
mov edx, dword [esp + 0x1c]
mov esi, edx
shl esi, 0x10
or ecx, esi
sar edx, 0x10
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x8000
adc dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x5c], ecx
mov bx, word [esp + 0x1a]
mov ecx, dword [esp + 0x2c]
mov word [ecx], bx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0x10]
add ecx, 2
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0xc]
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0xffffffff
add edx, ecx
sub eax, edx
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x50], eax
mov dword [esp + 0xc], 0xfbdc0e04
jmp 0x10014e0d
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0xc], 0x2f36c8da
jmp 0x10014e0d
mov dword [esp + 0xc], 0xe0d08e41
jmp 0x10014e0d
mov dword [esp + 0xc], 0x95602ae2
jmp 0x10014e0d
mov dword [esp + 0xc], 0xccd35aa2
jmp 0x10014e0d
mov dword [esp + 0xc], 0x76cca29c
jmp 0x10013592