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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3ec
mov esi, dword [esp + 0x400]
mov word [esi + 0x8392], 1
mov ecx, esi
xor edx, edx
push 0
push 0xf
push 0x120
call fcn.00989100
add esp, 0xc
mov ecx, esi
mov edx, 1
push 0
push 0xf
push 0x20
call fcn.00989100
add esp, 0xc
lea eax, [esi + 0x8f12]
mov dword [esp + 0x64], eax
lea eax, [esi + 0x9032]
mov dword [esp + 0xec], eax
lea eax, [esi + 0x8612]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], 0x11e
mov eax, 0xc700964e
jmp 0x9878f0
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xb0]
add word [esi + eax*2 + 0x8612], dx
mov eax, 0x9ccf08dc
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xac], edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0xf1b51143
jle 0x987960
cmp eax, 0x3bc060ae
jg 0x987a40
cmp eax, 0x1c5232f6
jg 0x987aae
cmp eax, 0x74259ea
jle 0x987dc7
cmp eax, 0x16f5cc06
jg 0x987fa2
cmp eax, 0xd3f7714
jg 0x9886f7
cmp eax, 0x74259eb
je 0x988cbd
cmp eax, 0x8292596
jne 0x9878f0
mov eax, 0xba08af55
cmp dword [esp + 4], 3
jb 0x9878f0
mov eax, 0xccbc4ee7
jmp 0x9878f0
cmp eax, 0xb8426473
jg 0x9879e0
cmp eax, 0x9da71bb1
jle 0x987afe
cmp eax, 0xa7404288
jle 0x987d21
cmp eax, 0xb08a6f29
jg 0x987f14
cmp eax, 0xae88562b
jg 0x9885f8
cmp eax, 0xa7404289
je 0x988b4b
cmp eax, 0xa8ed6256
jne 0x9878f0
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0xd8]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0xeaf5ceba
mov edx, dword [esp + 0x14]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x9c], ecx
jmp 0x9878f0
cmp eax, 0xccbc4ee6
jle 0x987b52
cmp eax, 0xe48f6767
jle 0x987d81
cmp eax, 0xebddcad8
jg 0x987f47
cmp eax, 0xe4fd1292
jg 0x98862c
cmp eax, 0xe48f6768
je 0x988b8b
cmp eax, 0xe49b79b1
jne 0x9878f0
inc word [esi + 0x8634]
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x16c], 0x11
mov eax, dword [esp + 0x20]
add al, 0xfd
jmp 0x988a12
cmp eax, 0x65d675b6
jle 0x987b9b
cmp eax, 0x7553bbbf
jle 0x987ecb
cmp eax, 0x79369cf2
jg 0x987fe5
cmp eax, 0x75d0096a
jg 0x98875e
cmp eax, 0x7553bbc0
je 0x988d3a
cmp eax, 0x75b3eea6
jne 0x9878f0
mov eax, 0x3bc060af
cmp dword [esp + 4], 0
je 0x987a93
mov eax, 0xd3f7715
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xcc], ecx
jmp 0x9878f0
cmp eax, 0x2cdc7842
jg 0x987e78
cmp eax, 0x22ab6141
jg 0x988051
cmp eax, 0x1f25cd20
jg 0x9885c0
cmp eax, 0x1c5232f7
je 0x988af4
cmp eax, 0x1d5ac077
jne 0x9878f0
cmp dword [esi + 0x44], 8
mov eax, 0x56ad6bef
jae 0x9878f0
mov eax, 0xc02f90a9
jmp 0x9878f0
cmp eax, 0x90b55a7b
jg 0x987be4
cmp eax, 0x88bba237
jle 0x98808c
cmp eax, 0x8aea55a8
jg 0x988357
cmp eax, 0x88bba238
je 0x98880d
cmp eax, 0x8ab23fac
jne 0x9878f0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x130]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x3ed86558
jmp 0x9878f0
cmp eax, 0xc1761cdd
jg 0x987cd4
cmp eax, 0xbc4d17fa
jle 0x9880c7
cmp eax, 0xbdfee835
jg 0x9883b8
cmp eax, 0xbc4d17fb
je 0x988837
cmp eax, 0xbd7b9a62
jne 0x9878f0
mov dword [esp + 0x4c], 0x1e
mov eax, 0x10f33894
jmp 0x9878f0
cmp eax, 0x4d56685a
jg 0x987e11
cmp eax, 0x45de629e
jle 0x988257
cmp eax, 0x483b9e43
jg 0x9884fb
cmp eax, 0x45de629f
je 0x9889f9
cmp eax, 0x4627bb59
jne 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x18a87644
jmp 0x9878f0
cmp eax, 0x96fd0076
jle 0x98810d
cmp eax, 0x9a73a77b
jg 0x9883e4
cmp eax, 0x96fd0077
je 0x9878b4
cmp eax, 0x9810d5e8
jne 0x9878f0
mov edi, dword [esp + 0x30]
push edi
push dword [esp + 0x68]
lea eax, [esp + 0x2b4]
push eax
call fcn.00989cc0
add esp, 0xc
lea eax, [esp + edi]
add eax, 0x2ac
mov esi, dword [esp + 0x2c]
push esi
push dword [esp + 0xf0]
push eax
call fcn.00989cc0
add esp, 0xc
lea eax, [esi + edi]
mov dword [esp + 0x160], eax
mov esi, dword [esp + 0x400]
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x20], 0
mov word [eax + 0x24], 0
mov bh, 0xff
mov dword [esp + 0x44], 0
mov eax, 0xebddcad9
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
jmp 0x9878f0
cmp eax, 0xc683aa23
jle 0x988140
cmp eax, 0xc8109094
jg 0x988431
cmp eax, 0xc683aa24
je 0x988859
cmp eax, 0xc700964e
jne 0x9878f0
mov eax, 0xbc4d17fb
cmp dword [esp + 0x34], 0x102
jge 0x987d14
mov eax, 0xbd7b9a62
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
jmp 0x9878f0
cmp eax, 0x9ff70911
jle 0x988176
cmp eax, 0xa36a6d75
jg 0x988460
cmp eax, 0x9ff70912
je 0x988930
cmp eax, 0xa03a4219
jne 0x9878f0
mov ecx, dword [esp + 0x94]
mov eax, 0x3555462a
sub ecx, 1
mov dword [esp + 0x15c], ecx
jb 0x987d6a
mov eax, 0x8aea55a9
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x40], ecx
jmp 0x9878f0
cmp eax, 0xd209e927
jle 0x9881bf
cmp eax, 0xdde0b427
jg 0x98848f
cmp eax, 0xd209e928
je 0x98893a
cmp eax, 0xd890a45b
jne 0x9878f0
mov eax, 0xc2a64eb6
cmp dword [esp + 8], 0
je 0x988800
mov eax, 0xf1b51144
jmp 0x988800
cmp eax, 0xfdb3c2da
jle 0x988214
cmp eax, 0x1ad45a7
jg 0x9884c6
cmp eax, 0xfdb3c2db
je 0x9889a3
cmp eax, 0xf861c7
jne 0x9878f0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x988f5e
cmp eax, 0x56ad6bee
jle 0x98828a
cmp eax, 0x5b0ca1c0
jg 0x988529
cmp eax, 0x56ad6bef
je 0x988a2a
cmp eax, 0x56d2a849
jne 0x9878f0
mov eax, dword [esp + 0xdc]
inc eax
mov dword [esp + 0x44], eax
mov eax, 0xebddcad9
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov bh, byte [esp + 3]
jmp 0x9878f0
cmp eax, 0x37280a2e
jle 0x9882ce
cmp eax, 0x38327554
jg 0x98855f
cmp eax, 0x37280a2f
je 0x988a71
cmp eax, 0x37c709ee
jne 0x9878f0
mov eax, 0x7dd4c16c
mov ecx, dword [esp + 0xf8]
cmp dword [esp + 0x58], ecx
jb 0x987ebb
mov eax, 0x28460301
mov ecx, dword [esp + 0x58]
mov dword [esp + 0xf4], ecx
jmp 0x9878f0
cmp eax, 0x6d21d10f
jle 0x988311
cmp eax, 0x6f565593
jg 0x988598
cmp eax, 0x6d21d110
je 0x988ab0
cmp eax, 0x6ee2b867
jne 0x9878f0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x124]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0xe4fd1293
jmp 0x9878f0
cmp eax, 0xb4f4180e
jg 0x988679
cmp eax, 0xb08a6f2a
je 0x988ba5
cmp eax, 0xb3984af1
jne 0x9878f0
mov dword [esp + 0x58], 0
mov eax, 0x37c709ee
jmp 0x9878f0
cmp eax, 0xed280f11
jg 0x9886ac
cmp eax, 0xebddcad9
je 0x988bcc
cmp eax, 0xecaaf6f0
jne 0x9878f0
mov eax, dword [esp + 4]
lea ecx, [eax + 1]
mov eax, 0x773abc1d
mov dword [esp + 0x10], ecx
cmp ecx, 6
je 0x987f82
mov eax, 0x56d2a849
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], ecx
jmp 0x9878f0
cmp eax, 0x18e48ec7
jg 0x98872b
cmp eax, 0x16f5cc07
je 0x988ccf
cmp eax, 0x18a87644
jne 0x9878f0
mov ecx, dword [esi + 0x44]
mov eax, 0xf3e8ec6c
mov dword [esp + 0x118], ecx
cmp ecx, 8
jae 0x9878f0
mov eax, 0x386c907b
jmp 0x9878f0
cmp eax, 0x7de09fdf
jg 0x98877e
cmp eax, 0x79369cf3
je 0x988d4d
cmp eax, 0x7dd4c16c
jne 0x9878f0
mov edi, ebp
mov ebp, dword [esp + 0xf4]
movzx edx, byte [esp + ebp + 0x16c]
movzx eax, word [esi + edx*2 + 0x8cd2]
mov ecx, dword [esi + 0x44]
shl eax, cl
mov dword [esp + 0xc8], edx
movzx edx, byte [esi + edx + 0x9152]
or dword [esi + 0x48], eax
add edx, ecx
lea eax, [ebp + 1]
mov ebp, edi
mov dword [esp + 0xbc], eax
mov dword [esi + 0x44], edx
mov eax, 0x6d21d110
jmp 0x9878f0
cmp eax, 0x29d5aeb9
jle 0x9887b9
cmp eax, 0x29d5aeba
je 0x9887fb
cmp eax, 0x2afe721e
jne 0x9878f0
mov eax, 0x2cdc7843
cmp dword [esp + 8], 0xb
jb 0x9878f0
mov eax, 0xbdfee836
jmp 0x9878f0
cmp eax, 0x807eb1d3
je 0x988dc1
cmp eax, 0x84cb1846
je 0x988e37
cmp eax, 0x87698e11
jne 0x9878f0
mov eax, 0xe49b79b1
cmp dword [esp + 0x20], 0xb
jb 0x9878f0
mov eax, 0x45de629f
jmp 0x9878f0
cmp eax, 0xb8426474
je 0x988dd3
cmp eax, 0xb8fca4cc
je 0x988e5e
cmp eax, 0xba08af55
jne 0x9878f0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x65d675b7
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], edx
mov dword [esp + 0x68], ecx
jmp 0x9878f0
cmp eax, 0x90b55a7c
je 0x988ded
cmp eax, 0x94617a23
je 0x988e71
cmp eax, 0x9618a150
jne 0x9878f0
mov dword [esp + 0x5c], 0
mov eax, 0x1c5232f7
jmp 0x9878f0
cmp eax, 0xc1761cde
je 0x988e06
cmp eax, 0xc2a64eb6
je 0x988e8b
cmp eax, 0xc4a17d87
jne 0x9878f0
mov eax, 0x37c709ee
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x58], ecx
jmp 0x9878f0
cmp eax, 0x9da71bb2
je 0x988ec8
cmp eax, 0x9daeb4d1
je 0x988f16
cmp eax, 0x9e8abc2e
jne 0x9878f0
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + 0x9c0dea]
cmp byte [esi + eax + 0x9152], 0
mov eax, 0xb8fca4cc
je 0x9878f0
mov eax, 0xf0bbf998
jmp 0x9878f0
cmp eax, 0xccbc4ee7
je 0x988ee5
cmp eax, 0xccd68623
je 0x988f45
cmp eax, 0xd102630c
jne 0x9878f0
inc word [esi + 0x8632]
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea edx, [ecx + 2]
mov dword [esp + 0xc4], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0x54b09cb4
jmp 0x9878f0
cmp eax, 0xf1b51144
je 0x988f76
cmp eax, 0xf3e8ec6c
je 0x988f90
cmp eax, 0xfab2e4d9
jne 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0x9da71bb2
mov dword [esp + 0xf0], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x3f8e8210
jmp 0x9878f0
cmp eax, 0x3bc060af
je 0x988fb2
cmp eax, 0x3ed86558
je 0x989026
cmp eax, 0x3f8e8210
jne 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x90b55a7c
jmp 0x9878f0
cmp eax, 0x4d56685b
je 0x988ff8
cmp eax, 0x52c097a1
je 0x989038
cmp eax, 0x54b09cb4
jne 0x9878f0
mov dword [esp + 0xcc], 0
mov eax, 0x3bc060af
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0xa4], ecx
jmp 0x9878f0
cmp eax, 0x2cdc7843
je 0x98904a
cmp eax, 0x3555462a
je 0x9890a9
cmp eax, 0x367bab72
jne 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0xd209e928
mov dword [esp + 0x11c], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x6a0d90f4
jmp 0x9878f0
cmp eax, 0x65d675b7
je 0x98907b
cmp eax, 0x6a0d90f4
je 0x9890c9
cmp eax, 0x6bd5b7a1
jne 0x9878f0
movzx eax, bl
mov ecx, dword [esp + 4]
add word [esi + eax*2 + 0x8612], cx
mov eax, 0x4d56685b
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
jmp 0x9878f0
cmp eax, 0x8aea55a9
je 0x98887e
cmp eax, 0x90b49a75
jne 0x9878f0
mov eax, dword [esp + 8]
lea ecx, [eax + 1]
mov eax, 0x9ff70912
mov dword [esp + 0x20], ecx
cmp ecx, 0x8a
je 0x98838a
mov eax, 0x56d2a849
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
jmp 0x9878f0
cmp eax, 0xbdfee836
je 0x9888af
cmp eax, 0xc02f90a9
jne 0x9878f0
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x5c], eax
mov eax, 0x1c5232f7
jmp 0x9878f0
cmp eax, 0x9a73a77c
je 0x9888cd
cmp eax, 0x9ccf08dc
jne 0x9878f0
mov ecx, dword [esp + 0xac]
mov eax, 0x7e8f67d1
sub ecx, 1
mov dword [esp + 0x14c], ecx
jb 0x988417
mov eax, 0x1f25cd21
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x104], ecx
jmp 0x9878f0
cmp eax, 0xc8109095
je 0x9888ef
cmp eax, 0xcadaa30a
jne 0x9878f0
cmp dword [esi + 0x44], 8
mov eax, 0x38327555
jae 0x9878f0
mov eax, 0x6fe9111b
jmp 0x9878f0
cmp eax, 0xa36a6d76
je 0x988957
cmp eax, 0xa4f826ce
jne 0x9878f0
cmp dword [esi + 0x44], 8
mov eax, 0xdde0b428
jae 0x9878f0
mov eax, 0x9618a150
jmp 0x9878f0
cmp eax, 0xdde0b428
je 0x988981
cmp eax, 0xe03fd9a3
jne 0x9878f0
mov eax, dword [esp + 0x2c]
cmp byte [eax + esi + 0x9031], 0
mov eax, 0x483b9e44
je 0x9878f0
mov eax, 0x9810d5e8
jmp 0x9878f0
cmp eax, 0x1ad45a8
je 0x9889cd
cmp eax, 0x3f0274b
jne 0x9878f0
mov eax, dword [esp + 0x2c]
dec eax
mov ecx, dword [esp + 0x114]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0xcadaa30a
jmp 0x9878f0
cmp eax, 0x483b9e44
je 0x988a4c
cmp eax, 0x4afcb5e9
jne 0x9878f0
mov eax, 0xc4a17d87
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xe4], ecx
jmp 0x9878f0
cmp eax, 0x5b0ca1c1
je 0x988a5f
cmp eax, 0x611028b5
jne 0x9878f0
mov dword [esp + 0xa0], 0
mov eax, 0x90b49a75
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x8c], ecx
jmp 0x9878f0
cmp eax, 0x38327555
je 0x988a8e
cmp eax, 0x386c907b
jne 0x9878f0
mov eax, dword [esp + 0x30]
add eax, 0xfffffeff
mov ecx, dword [esp + 0x118]
shl eax, cl
or dword [esi + 0x48], eax
add dword [esi + 0x44], 5
mov eax, 0x22aa039b
jmp 0x9878f0
cmp eax, 0x6f565594
je 0x988ad2
cmp eax, 0x6fe9111b
jne 0x9878f0
mov dword [esp + 0x60], 0x12
mov eax, 0xb046dd53
jmp 0x9878f0
cmp eax, 0x1f25cd21
je 0x988b1b
cmp eax, 0x22aa039b
jne 0x9878f0
mov ecx, dword [esi + 0x44]
mov eax, 0x9a73a77c
mov dword [esp + 0x114], ecx
cmp ecx, 8
jae 0x9878f0
mov eax, 0x3f0274b
jmp 0x9878f0
cmp eax, 0xae88562c
je 0x988c16
cmp eax, 0xb046dd53
jne 0x9878f0
mov eax, 0x9e8abc2e
cmp dword [esp + 0x60], 0
jns 0x98861f
mov eax, 0xf0bbf998
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
jmp 0x9878f0
cmp eax, 0xe4fd1293
je 0x988c4a
cmp eax, 0xeaf5ceba
jne 0x9878f0
mov ecx, dword [esp + 0x9c]
mov eax, 0x54b09cb4
sub ecx, 1
mov dword [esp + 0x158], ecx
jb 0x98865f
mov eax, 0xb4f4180f
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x10c], ecx
jmp 0x9878f0
cmp eax, 0xb4f4180f
je 0x988c5c
cmp eax, 0xb5506fdb
jne 0x9878f0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x134]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x807eb1d3
jmp 0x9878f0
cmp eax, 0xed280f12
je 0x988c8c
cmp eax, 0xf0bbf998
jne 0x9878f0
mov ecx, dword [esp + 0x38]
mov eax, ecx
cmp ecx, 4
jge 0x9886d2
mov eax, 3
lea ecx, [eax + 1]
mov dword [esp + 0x120], ecx
add eax, 0xfffffffd
mov ecx, dword [esi + 0x44]
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 4
mov dword [esi + 0x44], ecx
mov eax, 0xa4f826ce
jmp 0x9878f0
cmp eax, 0xd3f7715
je 0x988cf9
cmp eax, 0x10f33894
jne 0x9878f0
mov eax, 0xe03fd9a3
cmp dword [esp + 0x4c], 2
jge 0x98871e
mov eax, 0x9810d5e8
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], ecx
jmp 0x9878f0
cmp eax, 0x18e48ec8
je 0x988d13
cmp eax, 0x1b12bfd5
jne 0x9878f0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x128]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x52c097a1
jmp 0x9878f0
cmp eax, 0x75d0096b
je 0x988d79
cmp eax, 0x773abc1d
jne 0x9878f0
mov eax, 0x22ab6142
jmp 0x9878f0
cmp eax, 0x7de09fe0
je 0x988d93
cmp eax, 0x7e8f67d1
jne 0x9878f0
mov dword [esp + 0x10], 0
mov eax, 0x56d2a849
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
jmp 0x9878f0
cmp eax, 0x22ab6142
jne 0x9890db
inc word [esi + 0x8632]
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 0xb0]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0xd0], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x7e8f67d1
jmp 0x9878f0
mov eax, 0x94617a23
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
jmp 0x9878f0
mov eax, dword [esp + 0x140]
lea ecx, [eax + 1]
mov dword [esp + 0xa8], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0x9daeb4d1
mov ebp, dword [esp + 0x164]
jmp 0x9878f0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x30]
cmp byte [ecx + eax - 1], 0
mov eax, 0x7553bbc0
je 0x9878f0
mov eax, 0xbd7b9a62
jmp 0x9878f0
mov dword [esp + 0x18], 0
mov eax, 0x56d2a849
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x10], ecx
jmp 0x9878f0
mov eax, dword [esp + 0x12c]
lea ecx, [eax + 1]
mov dword [esp + 0xb4], ecx
mov byte [esp + eax + 0x16c], 0
mov eax, 0xa03a4219
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x94], ecx
jmp 0x9878f0
inc word [esi + 0x8636]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x12
mov eax, dword [esp + 8]
add al, 0xf5
jmp 0x989063
mov ecx, dword [esi + 0x30]
mov eax, 0xb5506fdb
mov dword [esp + 0x134], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x807eb1d3
jmp 0x9878f0
mov eax, 0xecaaf6f0
cmp byte [esp + 3], bl
je 0x9888ff
mov eax, 0x75b3eea6
movzx ecx, byte [esp + 3]
mov dword [esp + 0x150], ecx
movzx ecx, bl
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x14], ecx
jmp 0x9878f0
mov eax, 0x87698e11
jmp 0x9878f0
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0x11c]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x6a0d90f4
jmp 0x9878f0
mov eax, dword [esp + 0xdc]
movzx ecx, byte [esp + eax + 0x2ac]
mov eax, 0x1ad45a8
mov byte [esp + 3], cl
test cl, cl
je 0x9878f0
mov eax, 0x79369cf3
jmp 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0x1b12bfd5
mov dword [esp + 0x128], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x52c097a1
jmp 0x9878f0
mov eax, dword [esp + 0x154]
lea ecx, [eax + 1]
mov dword [esp + 0x70], ecx
mov byte [esp + eax + 0x16c], bl
mov eax, 0x65d675b7
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x68], ecx
jmp 0x9878f0
mov eax, 0x90b49a75
cmp dword [esp + 4], 0
je 0x9889de
mov eax, 0x8292596
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 4]
mov dword [esp + 0xa0], ecx
jmp 0x9878f0
inc word [esi + 0x8636]
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x16c], 0x12
mov eax, dword [esp + 0x20]
add al, 0xf5
lea edx, [ecx + 2]
mov dword [esp + 0x3c], edx
mov byte [esp + ecx + 0x16d], al
mov eax, 0xc683aa24
jmp 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0x6ee2b867
mov dword [esp + 0x124], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0xe4fd1293
jmp 0x9878f0
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x4c], eax
mov eax, 0x10f33894
jmp 0x9878f0
mov eax, 0xc2a64eb6
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x28], ecx
jmp 0x9878f0
movzx eax, byte [esi + 0x48]
mov edi, dword [esp + 0x138]
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov eax, 0x4627bb59
jmp 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0x8ab23fac
mov dword [esp + 0x130], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x3ed86558
jmp 0x9878f0
mov ecx, dword [esi + 0x44]
mov eax, 0x367bab72
mov dword [esp + 0x110], ecx
cmp ecx, 8
jae 0x9878f0
mov eax, 0xb08a6f2a
jmp 0x9878f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add word [eax], cx
mov eax, 0x9daeb4d1
mov edx, dword [esp + 0x50]
mov dword [esp + 0xa8], edx
mov ebp, ecx
jmp 0x9878f0
mov eax, 0x7de09fe0
mov ecx, dword [esp + 0x120]
cmp dword [esp + 0x5c], ecx
jl 0x988b0b
mov eax, 0xb3984af1
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x90], ecx
jmp 0x9878f0
mov ecx, dword [esp + 0x104]
lea eax, [ecx + 1]
mov dword [esp + 0xd4], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0x9ccf08dc
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0xac], ecx
jmp 0x9878f0
mov edi, dword [esp + 0xbc]
movzx eax, byte [esp + edi + 0x16c]
mov edx, dword [esp + 0xc8]
movsx edx, byte [edx + 0x9c1bc4]
mov ecx, dword [esp + 0x110]
shl eax, cl
or dword [esi + 0x48], eax
lea eax, [edi + 1]
mov dword [esp + 0x108], eax
add dword [esi + 0x44], edx
mov eax, 0x90b55a7c
jmp 0x9878f0
mov eax, 0xd890a45b
cmp dword [esp + 4], 0
je 0x9878f0
mov eax, 0x29d5aeba
jmp 0x9878f0
mov eax, 0xa7404289
cmp dword [esp + 0xc8], 0x10
jae 0x988bb9
mov eax, 0xc4a17d87
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xe4], ecx
jmp 0x9878f0
mov eax, 0xa36a6d76
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x160]
jb 0x988be3
mov eax, 0xe48f6768
mov bl, bh
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xdc], ecx
jmp 0x9878f0
mov ecx, dword [esp + 0xe0]
mov eax, 0x5b0ca1c1
sub ecx, 1
mov dword [esp + 0x13c], ecx
jb 0x988c33
mov eax, 0xed280f12
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xfc], ecx
jmp 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x1d5ac077
jmp 0x9878f0
mov ecx, dword [esp + 0x10c]
lea eax, [ecx + 1]
mov dword [esp + 0xc0], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0xeaf5ceba
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x9c], ecx
jmp 0x9878f0
mov ecx, dword [esp + 0xfc]
lea eax, [ecx + 1]
mov dword [esp + 0xe8], eax
mov byte [esp + ecx + 0x16c], 0
mov eax, 0xae88562c
mov ecx, dword [esp + 0x13c]
mov dword [esp + 0xe0], ecx
jmp 0x9878f0
mov eax, 0xc2a64eb6
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x28], ecx
jmp 0x9878f0
mov ecx, dword [esp + 0x100]
lea eax, [ecx + 1]
mov dword [esp + 0x78], eax
mov byte [esp + ecx + 0x16c], bl
mov eax, 0x4d56685b
mov ecx, dword [esp + 0x144]
mov dword [esp + 0x74], ecx
jmp 0x9878f0
mov eax, 0xa8ed6256
cmp dword [esp + 4], 3
jb 0x9878f0
mov eax, 0xd102630c
jmp 0x9878f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
add word [eax], cx
mov eax, 0xae88562c
mov edx, dword [esp + 0xc]
mov dword [esp + 0xe8], edx
mov dword [esp + 0xe0], ecx
jmp 0x9878f0
mov eax, dword [esp + 0x30]
dec eax
mov dword [esp + 0x34], eax
mov eax, 0xc700964e
jmp 0x9878f0
mov eax, 0xc8109095
cmp dword [esp + 8], 0
je 0x988d5e
mov eax, 0x75d0096b
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], ecx
jmp 0x9878f0
mov eax, 0x84cb1846
cmp dword [esp + 8], 3
jb 0x9878f0
mov eax, 0x2afe721e
jmp 0x9878f0
mov eax, dword [esp + 0x90]
movzx eax, byte [eax + 0x9c0dea]
movzx eax, byte [esi + eax + 0x9152]
mov ecx, dword [esi + 0x44]
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 3
mov dword [esi + 0x44], ecx
mov eax, 0x1d5ac077
jmp 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x22aa039b
jmp 0x9878f0
mov eax, 0xccd68623
cmp dword [esp + 8], 0xb
jb 0x9878f0
mov eax, 0xf861c7
jmp 0x9878f0
cmp dword [esi + 0x44], 8
mov eax, 0xfab2e4d9
jae 0x9878f0
mov eax, 0x4afcb5e9
jmp 0x9878f0
inc word [esi + 0x8632]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x7c], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x74259eb
jmp 0x9878f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 8]
add word [eax], cx
mov eax, 0xa03a4219
mov edx, dword [esp + 0xc]
mov dword [esp + 0xb4], edx
mov dword [esp + 0x94], ecx
jmp 0x9878f0
mov eax, dword [esp + 0x38]
dec eax
mov dword [esp + 0x60], eax
mov eax, 0xb046dd53
jmp 0x9878f0
mov eax, 0x6bd5b7a1
cmp dword [esp + 4], 3
jb 0x9878f0
mov eax, 0xc1761cde
jmp 0x9878f0
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call fcn.00989100
add esp, 0xc
mov ecx, dword [esi + 0x44]
mov eax, 2
shl eax, cl
or dword [esi + 0x48], eax
add ecx, 2
mov dword [esi + 0x44], ecx
mov eax, 0x18a87644
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xf8], ecx
jmp 0x9878f0
movzx eax, byte [esi + 0x48]
mov edx, dword [esp + 0xf0]
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov eax, 0x3f8e8210
jmp 0x9878f0
inc word [esi + 0x8632]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x10
mov eax, dword [esp + 4]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x6c], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x611028b5
jmp 0x9878f0
mov ecx, ebp
mov eax, 0xc683aa24
sub ecx, 1
mov dword [esp + 0x164], ecx
jb 0x988f2e
mov eax, 0x88bba238
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x3c], ecx
jmp 0x9878f0
inc word [esi + 0x8634]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x54], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x5b0ca1c1
jmp 0x9878f0
mov eax, 0x18e48ec8
cmp dword [esp + 8], 3
jb 0x9878f0
mov eax, 0xb8426474
jmp 0x9878f0
mov ecx, dword [esi + 0x30]
mov eax, 0x37280a2f
mov dword [esp + 0x138], ecx
cmp ecx, dword [esi + 0x34]
jb 0x9878f0
mov eax, 0x4627bb59
jmp 0x9878f0
mov eax, dword [esp + 0x150]
inc word [esi + eax*2 + 0x8612]
mov ecx, dword [esp + 0xa4]
lea eax, [ecx + 1]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 3]
mov byte [esp + ecx + 0x16c], al
mov eax, 0x56d2a849
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xcc]
mov dword [esp + 0x10], ecx
jmp 0x9878f0
mov ecx, dword [esp + 0x74]
mov eax, 0x74259eb
sub ecx, 1
mov dword [esp + 0x144], ecx
jb 0x989012
mov eax, 0x16f5cc07
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x100], ecx
jmp 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xcadaa30a
jmp 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0xa4f826ce
jmp 0x9878f0
inc word [esi + 0x8634]
mov edx, dword [esp + 0xc]
mov byte [esp + edx + 0x16c], 0x11
mov eax, dword [esp + 8]
add al, 0xfd
lea ecx, [edx + 2]
mov dword [esp + 0x40], ecx
mov byte [esp + edx + 0x16d], al
mov eax, 0x3555462a
jmp 0x9878f0
mov ecx, dword [esp + 0x68]
mov eax, 0x611028b5
sub ecx, 1
mov dword [esp + 0x168], ecx
jb 0x989095
mov eax, 0xfdb3c2db
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x6c], ecx
jmp 0x9878f0
mov dword [esp + 0xb8], 0
mov eax, 0xc8109095
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x98], ecx
jmp 0x9878f0
shr dword [esi + 0x48], 8
add dword [esi + 0x44], 0xfffffff8
mov eax, 0x6d21d110
jmp 0x9878f0
cmp eax, 0x28460301
jne 0x9878f0
add esp, 0x3ec
pop esi
pop edi
pop ebx
pop ebp
ret