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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
sub esp, 0x200
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
mov dword [esp], edx
cmp dword [0x100a4318], 0
jne 0x1001f47f
cmp dword [0x100a37c8], 0
jne 0x1001f47f
mov dword [0x100a37c8], 0x10020287
mov dword [0x100a37cc], 0x100205f8
mov dword [0x100a37d0], 0x10020295
mov dword [0x100a37d4], 0x1002060b
mov dword [0x100a37d8], 0x1002029b
mov dword [0x100a37dc], 0x1002061e
mov dword [0x100a37e0], 0x100202a1
mov dword [0x100a37e4], 0x10020633
mov dword [0x100a37e8], 0x100202a7
mov dword [0x100a37ec], 0x10020646
mov dword [0x100a37f0], 0x100202ad
mov dword [0x100a37f4], 0x1002065b
mov dword [0x100a37f8], 0x100202b3
mov dword [0x100a37fc], 0x1002066e
mov dword [0x100a3800], 0x100202b9
mov dword [0x100a3804], 0x10020683
mov dword [0x100a3808], 0x100202bf
mov dword [0x100a380c], 0x10020696
mov dword [0x100a3810], 0x10020257
mov dword [0x100a3814], 0x100206ac
mov dword [0x100a3818], 0x100202c8
mov dword [0x100a381c], 0x100206c1
mov dword [0x100a3820], 0x10020263
mov dword [0x100a3824], 0x100206d8
mov dword [0x100a3828], 0x100202d1
mov dword [0x100a382c], 0x100206ed
mov dword [0x100a3830], 0x1002026f
mov dword [0x100a3834], 0x10020704
mov dword [0x100a3838], 0x100202da
mov dword [0x100a383c], 0x10020719
mov dword [0x100a3840], 0x1002027b
mov dword [0x100a3844], 0x10020730
mov dword [0x100a3848], 0x10020a55
mov dword [0x100a384c], 0x10020d05
mov dword [0x100a3850], 0x10020a5a
mov dword [0x100a3854], 0x10020d0d
mov dword [0x100a3858], 0x1002097a
mov dword [0x100a385c], 0x10020d20
mov dword [0x100a3860], 0x10020a60
mov dword [0x100a3864], 0x10020d3f
mov dword [0x100a3868], 0x10020999
mov dword [0x100a386c], 0x10020d52
mov dword [0x100a3870], 0x10020a69
mov dword [0x100a3874], 0x10020d71
mov dword [0x100a3878], 0x100209b8
mov dword [0x100a387c], 0x10020d84
mov dword [0x100a3880], 0x10020a72
mov dword [0x100a3884], 0x10020da3
mov dword [0x100a3888], 0x100209d7
mov dword [0x100a388c], 0x10020db6
mov dword [0x100a3890], 0x10020a7b
mov dword [0x100a3894], 0x10020dd3
mov dword [0x100a3898], 0x100209f5
mov dword [0x100a389c], 0x10020de6
mov dword [0x100a38a0], 0x10020a84
mov dword [0x100a38a4], 0x10020e05
mov dword [0x100a38a8], 0x10020a15
mov dword [0x100a38ac], 0x10020e18
mov dword [0x100a38b0], 0x10020a8d
mov dword [0x100a38b4], 0x10020e37
mov dword [0x100a38b8], 0x10020a35
mov dword [0x100a38bc], 0x10020e4a
mov dword [0x100a38c0], 0x10020a96
mov dword [0x100a38c4], 0x10020e69
mov dword [0x100a38c8], 0x1002045b
mov dword [0x100a38cc], 0x1002112b
mov dword [0x100a38d0], 0x10020444
mov dword [0x100a38d4], 0x10021140
mov dword [0x100a38d8], 0x10020480
mov dword [0x100a38dc], 0x10021155
mov dword [0x100a38e0], 0x10020449
mov dword [0x100a38e4], 0x1002116c
mov dword [0x100a38e8], 0x100204a6
mov dword [0x100a38ec], 0x10021181
mov dword [0x100a38f0], 0x1002044e
mov dword [0x100a38f4], 0x10021198
mov dword [0x100a38f8], 0x100204cc
mov dword [0x100a38fc], 0x100211ad
mov dword [0x100a3900], 0x10020453
mov dword [0x100a3904], 0x100211c4
mov dword [0x100a3908], 0x100204f2
mov dword [0x100a390c], 0x100211d8
mov dword [0x100a3910], 0x10020502
mov dword [0x100a3914], 0x100211ed
mov dword [0x100a3918], 0x10020512
mov dword [0x100a391c], 0x10021200
mov dword [0x100a3920], 0x10020522
mov dword [0x100a3924], 0x10021215
mov dword [0x100a3928], 0x10020532
mov dword [0x100a392c], 0x10021228
mov dword [0x100a3930], 0x10020542
mov dword [0x100a3934], 0x1002123d
mov dword [0x100a3938], 0x10020552
mov dword [0x100a393c], 0x10021250
mov dword [0x100a3940], 0x10020562
mov dword [0x100a3944], 0x10021265
mov dword [0x100a3948], 0x10021595
mov dword [0x100a394c], 0x10021951
mov dword [0x100a3950], 0x100215b1
mov dword [0x100a3954], 0x1002181c
mov dword [0x100a3958], 0x100214ce
mov dword [0x100a395c], 0x1002182b
mov dword [0x100a3960], 0x100215ea
mov dword [0x100a3964], 0x10021846
mov dword [0x100a3968], 0x100214eb
mov dword [0x100a396c], 0x10021855
mov dword [0x100a3970], 0x10021623
mov dword [0x100a3974], 0x10021870
mov dword [0x100a3978], 0x10021508
mov dword [0x100a397c], 0x1002187f
mov dword [0x100a3980], 0x1002165c
mov dword [0x100a3984], 0x1002189a
mov dword [0x100a3988], 0x10021525
mov dword [0x100a398c], 0x100218a9
mov dword [0x100a3990], 0x10021694
mov dword [0x100a3994], 0x100218c4
mov dword [0x100a3998], 0x10021541
mov dword [0x100a399c], 0x100218d3
mov dword [0x100a39a0], 0x100216cb
mov dword [0x100a39a4], 0x100218ee
mov dword [0x100a39a8], 0x1002155d
mov dword [0x100a39ac], 0x100218fd
mov dword [0x100a39b0], 0x10021702
mov dword [0x100a39b4], 0x10021918
mov dword [0x100a39b8], 0x10021579
mov dword [0x100a39bc], 0x10021927
mov dword [0x100a39c0], 0x10021739
mov dword [0x100a39c4], 0x10021942
mov dword [0x100a39c8], 0x10021c1a
mov dword [0x100a39cc], 0x10021dcb
mov dword [0x100a39d0], 0x10021c1f
mov dword [0x100a39d4], 0x10021dde
mov dword [0x100a39d8], 0x10021c25
mov dword [0x100a39dc], 0x10021df1
mov dword [0x100a39e0], 0x10021c2b
mov dword [0x100a39e4], 0x10021e06
mov dword [0x100a39e8], 0x10021c31
mov dword [0x100a39ec], 0x10021e19
mov dword [0x100a39f0], 0x10021c37
mov dword [0x100a39f4], 0x10021e2f
mov dword [0x100a39f8], 0x10021c40
mov dword [0x100a39fc], 0x10021e44
mov dword [0x100a3a00], 0x10021c46
mov dword [0x100a3a04], 0x10021e5b
mov dword [0x100a3a08], 0x10021fd6
mov dword [0x100a3a0c], 0x1002211d
mov dword [0x100a3a10], 0x10021fdb
mov dword [0x100a3a14], 0x10022125
mov dword [0x100a3a18], 0x10021f79
mov dword [0x100a3a1c], 0x10022138
mov dword [0x100a3a20], 0x10021fe1
mov dword [0x100a3a24], 0x10022157
mov dword [0x100a3a28], 0x10021f98
mov dword [0x100a3a2c], 0x1002216a
mov dword [0x100a3a30], 0x10021fe7
mov dword [0x100a3a34], 0x10022187
mov dword [0x100a3a38], 0x10021fb6
mov dword [0x100a3a3c], 0x1002219a
mov dword [0x100a3a40], 0x10021ff0
mov dword [0x100a3a44], 0x100221b9
mov dword [0x100a3a48], 0x10021d07
mov dword [0x100a3a4c], 0x10022317
mov dword [0x100a3a50], 0x10021cfd
mov dword [0x100a3a54], 0x1002232c
mov dword [0x100a3a58], 0x10021d2c
mov dword [0x100a3a5c], 0x10022341
mov dword [0x100a3a60], 0x10021d02
mov dword [0x100a3a64], 0x10022358
mov dword [0x100a3a68], 0x10021d52
mov dword [0x100a3a6c], 0x1002236c
mov dword [0x100a3a70], 0x10021d62
mov dword [0x100a3a74], 0x10022381
mov dword [0x100a3a78], 0x10021d72
mov dword [0x100a3a7c], 0x10022394
mov dword [0x100a3a80], 0x10021d82
mov dword [0x100a3a84], 0x100223a9
mov dword [0x100a3a88], 0x1002252b
mov dword [0x100a3a8c], 0x100226ed
mov dword [0x100a3a90], 0x10022547
mov dword [0x100a3a94], 0x10022660
mov dword [0x100a3a98], 0x100224d6
mov dword [0x100a3a9c], 0x1002266f
mov dword [0x100a3aa0], 0x10022580
mov dword [0x100a3aa4], 0x1002268a
mov dword [0x100a3aa8], 0x100224f3
mov dword [0x100a3aac], 0x10022699
mov dword [0x100a3ab0], 0x100225b8
mov dword [0x100a3ab4], 0x100226b4
mov dword [0x100a3ab8], 0x1002250f
mov dword [0x100a3abc], 0x100226c3
mov dword [0x100a3ac0], 0x100225ef
mov dword [0x100a3ac4], 0x100226de
mov eax, dword [edx + 0x120]
mov ebx, dword [edx + 0x124]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
mov eax, dword [edx + 0x104]
mov ebx, dword [edx + 0x108]
mov dword [esp + 4], eax
mov ecx, dword [ecx*4 + 0x1008cf60]
mov eax, dword [edx + 0x10c]
mov dword [esp + 8], ebx
lea ecx, [edx + ecx + 0x154]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0x1c]
mov eax, dword [eax*4 + 0x100a36b8]
mov ebx, dword [ecx + 0x28]
add ebx, eax
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x14], ebx
mov eax, dword [ebx + 0x30]
mov esi, dword [ebx + 0x34]
or esi, esi
je 0x1001f4ee
mov esi, 0xc
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], esi
mov esi, dword [ebx + 0x1c]
add ecx, dword [ebx + 8]
test esi, 2
jne 0x100200f8
mov dword [esp + 0x60], esi
mov esi, dword [ebx + 0x40]
mov dword [esp + 0xc4], esi
nop
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
imul edi, edi, 0x1c
lea eax, [eax + esi*4 + 0x33e8]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x1aeb8]
add eax, edi
mov edi, dword [edx + 0x1afc0]
nop
add ecx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
add dword [esp + 4], ecx
mov dword [esp + 0x1c], esi
add dword [esp + 8], ecx
add dword [esp + 0xc], ecx
mov esi, dword [eax]
mov dword [esp + 0xec], esi
mov esi, dword [eax + 4]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 4]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov ebx, dword [edi + 4]
mov eax, dword [edi + 0x2008]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], eax
lea ebx, [edi + 0x200c]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [edx + 0xb8]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xc
mov dword [esp + 0x58], 8
mov eax, dword [ebx*4 + 0x1008cf00]
mov ecx, dword [ebx*4 + 0x1008cf10]
cmp ebx, 0
jg 0x1001f5d0
mov byte [esp + 0xa0], 0
jmp 0x1001f5dc
cmp byte [esp + 0xa0], 0
je 0x1001f5dc
xor ecx, ecx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x40], cl
shr ecx, 8
mov eax, dword [ebx*4 + 0x1008cee8]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
mov esi, dword [edx + 0xc]
mov ecx, dword [edx + 0x28]
add eax, esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x5c], eax
cmp ecx, 4
jne 0x1001f610
or dword [esp + 0x5c], 0x10
mov byte [esp + 0xe3], cl
mov ebx, dword [edx + 0x24]
mov byte [esp + 0xe2], bl
imul esi, ebx
cmp ebx, ecx
jne 0x1001f62f
mov byte [esp + 0x44], 2
jmp 0x1001f634
mov byte [esp + 0x44], 5
mov dword [esp + 0x8c], esi
mov dword [esp + 0x64], ebx
shl ebx, 1
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 0x78]
shr ebx, 4
mov dword [esp + 0x124], ebx
imul esi, ecx
add esi, dword [esp + 0x6c]
imul ecx, eax
mov dword [esp + 0x88], ecx
mov ebx, dword [ebp + 0x18]
mov dword [esp + 0x84], esi
or ebx, dword [ebp + 0x1c]
je 0x1001f6ac
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x1008cf60
cmp dword [esp + 0x9c], 0
je 0x1001f6a7
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x1008cf60
jmp 0x1001f738
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
or ebx, ebx
jne 0x10020131
or eax, eax
jne 0x1001f6e2
cmp dword [esp + 0x94], 0
je 0x1001f6f2
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
jmp 0x1001f702
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x1008cf60
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x1008cf60
cmp dword [esp + 0x9c], 0
je 0x1001f71c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x1008cf60
cmp dword [esp + 0xa0], 0
je 0x1001f736
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0x1008cf60
jmp 0x1001f738
mov eax, dword [esp + 0x90]
sub dword [esp + 0x68], eax
mov edx, dword [ebp + 0x10]
mov cl, 0xe0
mov esi, dword [ebp + 0x10]
and edx, 3
sub esi, edx
shl dl, 3
add cl, dl
mov dword [esp + 0xb4], 0x8080
mov eax, dword [esp]
lea eax, [eax + 0x154]
mov eax, dword [eax + 0x28]
mov ebx, dword [eax + 0x1c]
mov edx, 0x10
mov edi, dword [eax + 0x24]
cmp edi, 0x10
jne 0x1001f77f
shl edx, 2
mov dword [esp + 0x11c], edx
mov dword [esp + 0x128], edx
shr edi, 3
sub dword [esp + 0x124], edi
mov byte [esp + 0x118], bl
mov ebx, dword [ebp + 0x20]
mov eax, dword [eax + 0x1aeb8]
imul ebx, ebx, 0x1c
test dword [eax + ebx + 0xc], 1
mov eax, dword [eax + ebx + 0x14]
jne 0x1001f7c3
mov dword [esp + 0x128], 0
mov dword [esp + 0xf8], eax
mov dword [esp + 0x120], 0
mov ebp, dword [esp + 0x1c]
sub ebp, 0x10
mov eax, 0xffffffd0
mov ebx, dword [esp + 0xc4]
add ebx, eax
add ebx, 0x18
jns 0x1001f7f3
xor ebx, ebx
jmp 0x1001f7fd
cmp ebx, 0x18
jl 0x1001f7fd
mov ebx, 0x17
sub ebx, dword [esp + 0xc4]
add ebx, 0x80
mov byte [esp + eax + 0x1c0], bl
inc eax
js 0x1001f7e1
mov eax, dword [esp + 0x30]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x4c]
shr eax, 1
mov eax, dword [eax*4 + 0x1009cf38]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xe4], eax
mov al, byte [esp + 0x44]
add al, byte [esp + 0x40]
mov byte [esp + 0xe0], al
mov ebx, dword [esp + 0x78]
imul ebx, dword [esp + 0x90]
mov eax, ebx
add eax, dword [esp + 0x68]
add eax, dword [esp + 0x90]
mov dword [esp + 0xf0], eax
mov edx, dword [esp + 0xec]
imul edx, dword [esp + 0x8c]
add edx, dword [esp + 0x68]
add edx, dword [esp + 0x90]
mov dword [esp + 0x84], edx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xd8], eax
sub eax, ebx
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x68]
jmp 0x1001f934
mov ebx, dword [ebp + 4]
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x34], ebx
xor edx, edx
mov ebx, dword [ebp + 8]
mov dword [ebp + 0x18], ebx
mov dl, byte [esp + 0xe1]
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x38], ebx
xor ebx, ebx
mov bl, byte [edx + 0x1008cf40]
or ebx, eax
mov dword [ebp + 0x2c], ebx
mov bl, byte [edx + 0x1008cf30]
xor eax, 0x1000000
or ebx, eax
mov dword [ebp + 0x1c], ebx
mov bl, byte [edx + 0x1008cf50]
or ebx, eax
mov edx, dword [esp + 0xd8]
mov dword [ebp + 0x3c], ebx
mov ebx, dword [esp + 0x90]
shr ebx, 1
shr edx, 1
add edi, ebx
mov dword [ebp + 0x10], edi
add edi, edx
mov dword [ebp + 0x30], edi
sub edi, ebx
mov dword [ebp + 0x20], edi
sub edi, edx
add ebp, 0x30
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
and eax, 0x300fff0
mov edx, dword [esp + 0x90]
xor eax, 0x1000000
add edi, edx
mov edx, dword [esp + 0xf0]
add ebp, 0x10
cmp edx, edi
jne 0x1001f9c0
test eax, 0x1000000
je 0x1001f99c
or eax, 2
mov ebx, dword [esp + 0xf8]
mov dword [ebp], edx
mov edx, dword [esp + 0x128]
mov dword [ebp + 0xc], eax
add ebx, edx
and eax, 0xfefffffd
mov edx, edi
add ebp, 0x10
mov dword [esp + 0xf8], ebx
add edx, dword [esp + 0xd8]
add edi, dword [esp + 0xdc]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0x84]
cmp edx, edi
je 0x100200f8
mov edx, dword [esi + 4]
mov ebx, dword [esi]
shrd ebx, edx, cl
shr ebx, 1
jb 0x1001fe84
mov dword [ebp], edi
mov ch, byte [esp + 0xe0]
add cl, ch
jae 0x1001f9e4
add esi, 4
add cl, 0xe0
add ch, 0xfb
mov edx, dword [edi]
adc ch, 4
mov edx, ebx
ror ch, 2
jae 0x1001fa00
add ch, 0x40
jae 0x1001f9fd
shr ebx, 2
jmp 0x1001fa00
shr ebx, 1
nop
and edx, dword [esp + 0xe8]
and ch, 1
mov ch, bl
je 0x1001fa13
shr ebx, 4
jmp 0x1001fa18
shr ebx, 1
and ch, 1
and ch, 0xf
mov edx, dword [edx*4 + 0x1009cf38]
or eax, edx
mov edx, dword [esp + 0xa0]
test edx, edx
jne 0x1001fb7c
mov byte [esp + 0xe1], ch
mov dl, ch
and dl, 1
nop
or al, dl
mov edx, dword [esp + 0x2c]
or edx, edx
je 0x1001fb28
or ch, byte [esp + 0xe4]
je 0x1001fb14
and ebx, edx
mov edx, dword [esp + 0x20]
rol eax, 6
nop
mov dl, byte [edx + ebx]
mov ebx, dword [esp + 0xfc]
and edx, 0xff
mov ch, byte [edx + ebx]
mov ebx, dword [esp + 0xf4]
add cl, ch
mov dl, byte [edx + 0x100a36c8]
mov ch, byte [esp + 0xe2]
jae 0x1001fa96
add esi, 4
add cl, 0xe0
test eax, 0x300
je 0x1001fb5f
lea eax, [eax + edx - 0x68]
mov ebx, dword [ebx + edx*4 - 0x200]
ror eax, 6
mov dword [ebp + 8], ebx
mov dword [ebp + 0xc], eax
mov dl, byte [esp + 0xe1]
mov ch, byte [esp + 0xe2]
and eax, 0xfffffffe
cmp ch, byte [esp + 0xe3]
je 0x1001fada
test eax, 2
jne 0x1001f8d1
test eax, 2
jne 0x1001f934
mov dword [esp + 0x114], ebp
mov dword [esp + 0x110], edi
cmp byte [esp + 0xa0], 0
je 0x1001fc4b
mov dword [esp + 0xa4], 1
mov ebx, dword [ebp + 4]
jmp 0x1001fcc3
mov ebx, dword [esp + 0xf4]
mov edx, 0x80
rol eax, 6
jmp 0x1001fa96
rol eax, 6
mov ebx, dword [esp + 0xf8]
mov edx, dword [ebx + 0xc]
add ebx, dword [esp + 0x11c]
shr edx, 0x1a
mov dword [esp + 0xf8], ebx
mov dl, byte [esp + edx + 0x190]
mov ebx, dword [esp + 0xf4]
test eax, 0x300
jne 0x1001faa1
add ebx, 0x60
jmp 0x1001faa1
mov edx, dword [esp + 0xf8]
sub edx, dword [esp + 0x11c]
mov dword [esp + 0xf8], edx
nop
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ecx
mov ebx, dword [edx + 0xc]
and eax, 0xfffffff1
and ebx, 0xe
mov ecx, dword [edx + 4]
or eax, ebx
add edx, dword [esp + 0x11c]
cmp dword [esp + 0x124], 0
jne 0x1001fbdb
mov ebx, dword [esp + 0x2c]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x108]
cmp ebx, 0
mov ebx, dword [esp + 0x104]
je 0x1001fa33
mov dword [esp + 0xf8], edx
jmp 0x1001fa33
mov ebx, dword [esp + 0x124]
cmp ebx, 0xffffffff
je 0x1001fbee
cmp ebx, 0xfffffffe
je 0x1001fc12
jmp 0x1001fbb1
mov ebx, ecx
and ecx, 0x1010101
shl ecx, 6
and ebx, 0xfefefefe
shr ebx, 1
nop
and ecx, ebx
add ebx, 0x40404040
shr ecx, 6
nop
add ecx, ebx
jmp 0x1001fbb1
mov ebx, ecx
and ecx, 0x80808080
shr ecx, 7
nop
or ecx, ebx
and ebx, 0xfcfcfcfc
shr ebx, 2
and ecx, 0x3030303
add ebx, 0x60606060
add ecx, 0x1010101
shr ecx, 2
and ecx, 0x1010101
add ecx, ebx
jmp 0x1001fbb1
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov edx, dword [esi + 4]
mov ebx, dword [esi]
shrd ebx, edx, cl
mov edx, ebx
and ebp, ebx
nop
xor ebx, ebx
mov bl, byte [edi + ebp]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0xa4], 1
mov ch, cl
mov cl, byte [ebp + ebx]
mov ebp, dword [esp + 0x24]
shr edx, cl
and ebp, edx
mov bh, byte [ebx + 0x100a36c8]
nop
xor edx, edx
mov dl, byte [edi + ebp]
mov ebp, dword [esp + 0x28]
nop
mov edi, dword [esp + 0xb4]
add cl, byte [ebp + edx]
mov bl, byte [edx + 0x100a36c8]
add cl, ch
jae 0x1001fcae
add esi, 4
add cl, 0xe0
lea ebx, [edi + ebx - 0x8080]
test eax, 0xc
mov dword [esp + 0xb4], ebx
jmp 0x1001fcc3
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 8]
test eax, 4
jne 0x1001fcea
or ebx, 0x800000
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], ebx
neg bl
neg bh
mov edi, dword [esp + 0x110]
mov dword [esp + 0x108], ecx
mov ebp, dword [esp + 4]
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x10c], esi
lea esi, [edi + edx]
mov dword [esp + 0x100], eax
sub esi, ebp
test eax, 0x1000000
je 0x1001fd21
sub edi, ecx
sub esi, ecx
cmp dword [0x100a4318], 0
jne 0x1001fdc5
xor ecx, ecx
xor edx, edx
mov cl, bl
mov dl, bh
sub ecx, 0x80
mov ebp, eax
sub edx, 0x80
and ebp, 0x1000000
shr ebp, 0x10
mov bh, byte [esp + 0x60]
or bh, bh
jne 0x1001fd59
shl ecx, 1
jmp 0x1001fd63
sar edx, 1
jae 0x1001fd63
add ebp, 0x80
mov ebx, ecx
test eax, 0x10
je 0x1001fd7c
shr ebp, 1
and ecx, 0xf
add ebp, 0x200
and ebx, 0xfffffff0
jmp 0x1001fd82
and ecx, 0x1f
and ebx, 0xffffffe0
mov ebp, dword [ebp + ecx*4 + 0x100a37c8]
add esi, ebx
mov dword [esp + 0x118], ebp
and ecx, 0xfffffffe
shl ecx, 1
mov ebp, eax
and ebp, 0xffe0
sub edi, ecx
imul edx, ebp
add esi, edx
mov dh, byte [esp + 0xe2]
sub edi, esi
sub esi, ebp
dec dh
js 0x1001fdc5
mov dl, byte [esp + 0xe3]
add esi, ebp
jmp dword [esp + 0x118]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x108]
mov ebp, dword [esp + 0x114]
mov esi, dword [esp + 0x10c]
mov dl, byte [esp + 0xe3]
mov edi, dword [esp + 0xa8]
mov dword [ebp + 4], edi
mov edi, dword [esp + 0x110]
cmp byte [esp + 0xe2], dl
je 0x1001f94a
cmp dword [esp + 0xa8], 0x8080
je 0x1001f8c5
mov ecx, dword [esp + 0x120]
mov esi, dword [esp + 0x90]
xor ecx, 0xffffffff
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x120], ecx
je 0x1001fe57
xor eax, 0x1000000
add dword [esp + 0x110], esi
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
jmp 0x1001fcc3
xor eax, 0x1000000
sub dword [esp + 0x110], esi
mov edi, dword [esp + 0x110]
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
mov ebp, dword [esp + 0x114]
jmp 0x1001f8c5
mov dword [ebp], edi
mov edx, dword [esp + 0xc8]
or eax, edx
mov edx, dword [esp + 0xe4]
add cl, 1
jae 0x1001fea2
add esi, 4
add cl, 0xe0
cmp edx, 0
je 0x1001fedf
and ebx, edx
mov edx, dword [esp + 0x20]
rol eax, 6
nop
mov dl, byte [edx + ebx]
mov ebx, dword [esp + 0xfc]
mov ebx, dword [esp + 0x38]
and edx, 0xff
mov ch, byte [edx + ebx]
mov dl, byte [edx + 0x100a36c8]
add cl, ch
jae 0x1001fed8
add esi, 4
add cl, 0xe0
lea eax, [eax + edx - 0x68]
ror eax, 6
mov byte [esp + 0xe1], 0
mov ch, 0
mov ebx, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
add ebx, dword [esp + 0x11c]
mov dword [ebp + 0xc], eax
mov dword [esp + 0xf8], ebx
mov edx, dword [edx]
mov dword [ebp + 8], edx
mov dl, byte [esp + 0xe2]
cmp dl, byte [esp + 0xe3]
je 0x1001ff28
test eax, 2
jne 0x1001f8d1
test eax, 2
jne 0x1001f934
cmp dword [0x100a4318], 0
je 0x1002004b
mov dword [esp + 0x108], ecx
mov ecx, 0x8080
cmp dword [esp + 0xa0], 0
je 0x1002001d
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x104], ebx
sub edx, ecx
mov ecx, dword [edx + 4]
cmp dword [esp + 0x124], 0
jne 0x1001ff8a
mov ebx, dword [esp + 0x104]
jmp 0x1002001d
mov ebx, dword [esp + 0x124]
cmp ebx, 0xffffffff
je 0x1001ff9d
cmp ebx, 0xfffffffe
je 0x1001ffdb
jmp 0x1001ff7e
mov ebx, ecx
and ecx, 0xffff
shr ebx, 0x10
add cl, 0x80
adc cl, 0
add bl, 0x80
adc bl, 0
add ch, 0x80
adc ch, 0
add bh, 0x80
adc bh, 0
shl ebx, 0x10
or ecx, ebx
xor ecx, 0x80808080
shr ecx, 1
and ecx, 0x7f7f7f7f
add ecx, 0x40404040
jmp 0x1001ff7e
mov ebx, ecx
and ecx, 0xffff
shr ebx, 0x10
add cl, 0x80
adc cl, 1
add bl, 0x80
adc bl, 1
add ch, 0x80
adc ch, 1
add bh, 0x80
adc bh, 1
shl ebx, 0x10
or ecx, ebx
xor ecx, 0x80808080
shr ecx, 2
and ecx, 0x3f3f3f3f
add ecx, 0x60606060
jmp 0x1001ff7e
mov dword [esp + 0xa8], 0x8080
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x108]
mov dl, byte [esp + 0xe3]
cmp byte [esp + 0xe2], dl
je 0x1001f94a
jmp 0x1001f8c5
cmp dword [esp + 0xa0], 0
jne 0x1001fb67
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x114], ebp
mov edx, dword [esp + 4]
mov dword [esp + 0x10c], esi
lea esi, [edi + ecx]
mov dword [esp + 0x110], edi
sub esi, edx
mov ebp, eax
mov dh, byte [esp + 0xe2]
and ebp, 0xffe0
test eax, 0x1000000
je 0x100200d6
sub esi, dword [esp + 0x90]
sub edi, dword [esp + 0x90]
cmp dword [esp + 0xa4], 1
jne 0x100200d6
cmp dword [esp + 0xa8], 0x8080
mov dword [esp + 0xa8], 0x8080
je 0x1001fdcc
call fcn.10020141
jmp 0x1001fdcc
mov dword [esp + 0xa8], 0x8080
sub edi, esi
call fcn.100201b4
mov dword [esp + 0xa4], 1
jmp 0x1001fdcc
add esp, 0x200
pop edi
mov eax, esi
pop esi
pop ebx
and ecx, 0x1f
mov ebp, esp
add ecx, 7
mov edx, dword [ebp + 0x14]
shr ecx, 3
mov ebp, dword [ebp + 0x10]
sub eax, ebp
add eax, ecx
mov dword [edx], eax
pop ebp
mov eax, 1
ret
add esp, 0x200
pop edi
pop esi
pop ebx
pop ebp
mov eax, 0
ret