Function at 0x70b4ecd0
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 [0x70bd4318], 0
jne 0x70b4f47f
cmp dword [0x70bd37c8], 0
jne 0x70b4f47f
mov dword [0x70bd37c8], 0x70b50287
mov dword [0x70bd37cc], 0x70b505f8
mov dword [0x70bd37d0], 0x70b50295
mov dword [0x70bd37d4], 0x70b5060b
mov dword [0x70bd37d8], 0x70b5029b
mov dword [0x70bd37dc], 0x70b5061e
mov dword [0x70bd37e0], 0x70b502a1
mov dword [0x70bd37e4], 0x70b50633
mov dword [0x70bd37e8], 0x70b502a7
mov dword [0x70bd37ec], 0x70b50646
mov dword [0x70bd37f0], 0x70b502ad
mov dword [0x70bd37f4], 0x70b5065b
mov dword [0x70bd37f8], 0x70b502b3
mov dword [0x70bd37fc], 0x70b5066e
mov dword [0x70bd3800], 0x70b502b9
mov dword [0x70bd3804], 0x70b50683
mov dword [0x70bd3808], 0x70b502bf
mov dword [0x70bd380c], 0x70b50696
mov dword [0x70bd3810], 0x70b50257
mov dword [0x70bd3814], 0x70b506ac
mov dword [0x70bd3818], 0x70b502c8
mov dword [0x70bd381c], 0x70b506c1
mov dword [0x70bd3820], 0x70b50263
mov dword [0x70bd3824], 0x70b506d8
mov dword [0x70bd3828], 0x70b502d1
mov dword [0x70bd382c], 0x70b506ed
mov dword [0x70bd3830], 0x70b5026f
mov dword [0x70bd3834], 0x70b50704
mov dword [0x70bd3838], 0x70b502da
mov dword [0x70bd383c], 0x70b50719
mov dword [0x70bd3840], 0x70b5027b
mov dword [0x70bd3844], 0x70b50730
mov dword [0x70bd3848], 0x70b50a55
mov dword [0x70bd384c], 0x70b50d05
mov dword [0x70bd3850], 0x70b50a5a
mov dword [0x70bd3854], 0x70b50d0d
mov dword [0x70bd3858], 0x70b5097a
mov dword [0x70bd385c], 0x70b50d20
mov dword [0x70bd3860], 0x70b50a60
mov dword [0x70bd3864], 0x70b50d3f
mov dword [0x70bd3868], 0x70b50999
mov dword [0x70bd386c], 0x70b50d52
mov dword [0x70bd3870], 0x70b50a69
mov dword [0x70bd3874], 0x70b50d71
mov dword [0x70bd3878], 0x70b509b8
mov dword [0x70bd387c], 0x70b50d84
mov dword [0x70bd3880], 0x70b50a72
mov dword [0x70bd3884], 0x70b50da3
mov dword [0x70bd3888], 0x70b509d7
mov dword [0x70bd388c], 0x70b50db6
mov dword [0x70bd3890], 0x70b50a7b
mov dword [0x70bd3894], 0x70b50dd3
mov dword [0x70bd3898], 0x70b509f5
mov dword [0x70bd389c], 0x70b50de6
mov dword [0x70bd38a0], 0x70b50a84
mov dword [0x70bd38a4], 0x70b50e05
mov dword [0x70bd38a8], 0x70b50a15
mov dword [0x70bd38ac], 0x70b50e18
mov dword [0x70bd38b0], 0x70b50a8d
mov dword [0x70bd38b4], 0x70b50e37
mov dword [0x70bd38b8], 0x70b50a35
mov dword [0x70bd38bc], 0x70b50e4a
mov dword [0x70bd38c0], 0x70b50a96
mov dword [0x70bd38c4], 0x70b50e69
mov dword [0x70bd38c8], 0x70b5045b
mov dword [0x70bd38cc], 0x70b5112b
mov dword [0x70bd38d0], 0x70b50444
mov dword [0x70bd38d4], 0x70b51140
mov dword [0x70bd38d8], 0x70b50480
mov dword [0x70bd38dc], 0x70b51155
mov dword [0x70bd38e0], 0x70b50449
mov dword [0x70bd38e4], 0x70b5116c
mov dword [0x70bd38e8], 0x70b504a6
mov dword [0x70bd38ec], 0x70b51181
mov dword [0x70bd38f0], 0x70b5044e
mov dword [0x70bd38f4], 0x70b51198
mov dword [0x70bd38f8], 0x70b504cc
mov dword [0x70bd38fc], 0x70b511ad
mov dword [0x70bd3900], 0x70b50453
mov dword [0x70bd3904], 0x70b511c4
mov dword [0x70bd3908], 0x70b504f2
mov dword [0x70bd390c], 0x70b511d8
mov dword [0x70bd3910], 0x70b50502
mov dword [0x70bd3914], 0x70b511ed
mov dword [0x70bd3918], 0x70b50512
mov dword [0x70bd391c], 0x70b51200
mov dword [0x70bd3920], 0x70b50522
mov dword [0x70bd3924], 0x70b51215
mov dword [0x70bd3928], 0x70b50532
mov dword [0x70bd392c], 0x70b51228
mov dword [0x70bd3930], 0x70b50542
mov dword [0x70bd3934], 0x70b5123d
mov dword [0x70bd3938], 0x70b50552
mov dword [0x70bd393c], 0x70b51250
mov dword [0x70bd3940], 0x70b50562
mov dword [0x70bd3944], 0x70b51265
mov dword [0x70bd3948], 0x70b51595
mov dword [0x70bd394c], 0x70b51951
mov dword [0x70bd3950], 0x70b515b1
mov dword [0x70bd3954], 0x70b5181c
mov dword [0x70bd3958], 0x70b514ce
mov dword [0x70bd395c], 0x70b5182b
mov dword [0x70bd3960], 0x70b515ea
mov dword [0x70bd3964], 0x70b51846
mov dword [0x70bd3968], 0x70b514eb
mov dword [0x70bd396c], 0x70b51855
mov dword [0x70bd3970], 0x70b51623
mov dword [0x70bd3974], 0x70b51870
mov dword [0x70bd3978], 0x70b51508
mov dword [0x70bd397c], 0x70b5187f
mov dword [0x70bd3980], 0x70b5165c
mov dword [0x70bd3984], 0x70b5189a
mov dword [0x70bd3988], 0x70b51525
mov dword [0x70bd398c], 0x70b518a9
mov dword [0x70bd3990], 0x70b51694
mov dword [0x70bd3994], 0x70b518c4
mov dword [0x70bd3998], 0x70b51541
mov dword [0x70bd399c], 0x70b518d3
mov dword [0x70bd39a0], 0x70b516cb
mov dword [0x70bd39a4], 0x70b518ee
mov dword [0x70bd39a8], 0x70b5155d
mov dword [0x70bd39ac], 0x70b518fd
mov dword [0x70bd39b0], 0x70b51702
mov dword [0x70bd39b4], 0x70b51918
mov dword [0x70bd39b8], 0x70b51579
mov dword [0x70bd39bc], 0x70b51927
mov dword [0x70bd39c0], 0x70b51739
mov dword [0x70bd39c4], 0x70b51942
mov dword [0x70bd39c8], 0x70b51c1a
mov dword [0x70bd39cc], 0x70b51dcb
mov dword [0x70bd39d0], 0x70b51c1f
mov dword [0x70bd39d4], 0x70b51dde
mov dword [0x70bd39d8], 0x70b51c25
mov dword [0x70bd39dc], 0x70b51df1
mov dword [0x70bd39e0], 0x70b51c2b
mov dword [0x70bd39e4], 0x70b51e06
mov dword [0x70bd39e8], 0x70b51c31
mov dword [0x70bd39ec], 0x70b51e19
mov dword [0x70bd39f0], 0x70b51c37
mov dword [0x70bd39f4], 0x70b51e2f
mov dword [0x70bd39f8], 0x70b51c40
mov dword [0x70bd39fc], 0x70b51e44
mov dword [0x70bd3a00], 0x70b51c46
mov dword [0x70bd3a04], 0x70b51e5b
mov dword [0x70bd3a08], 0x70b51fd6
mov dword [0x70bd3a0c], 0x70b5211d
mov dword [0x70bd3a10], 0x70b51fdb
mov dword [0x70bd3a14], 0x70b52125
mov dword [0x70bd3a18], 0x70b51f79
mov dword [0x70bd3a1c], 0x70b52138
mov dword [0x70bd3a20], 0x70b51fe1
mov dword [0x70bd3a24], 0x70b52157
mov dword [0x70bd3a28], 0x70b51f98
mov dword [0x70bd3a2c], 0x70b5216a
mov dword [0x70bd3a30], 0x70b51fe7
mov dword [0x70bd3a34], 0x70b52187
mov dword [0x70bd3a38], 0x70b51fb6
mov dword [0x70bd3a3c], 0x70b5219a
mov dword [0x70bd3a40], 0x70b51ff0
mov dword [0x70bd3a44], 0x70b521b9
mov dword [0x70bd3a48], 0x70b51d07
mov dword [0x70bd3a4c], 0x70b52317
mov dword [0x70bd3a50], 0x70b51cfd
mov dword [0x70bd3a54], 0x70b5232c
mov dword [0x70bd3a58], 0x70b51d2c
mov dword [0x70bd3a5c], 0x70b52341
mov dword [0x70bd3a60], 0x70b51d02
mov dword [0x70bd3a64], 0x70b52358
mov dword [0x70bd3a68], 0x70b51d52
mov dword [0x70bd3a6c], 0x70b5236c
mov dword [0x70bd3a70], 0x70b51d62
mov dword [0x70bd3a74], 0x70b52381
mov dword [0x70bd3a78], 0x70b51d72
mov dword [0x70bd3a7c], 0x70b52394
mov dword [0x70bd3a80], 0x70b51d82
mov dword [0x70bd3a84], 0x70b523a9
mov dword [0x70bd3a88], 0x70b5252b
mov dword [0x70bd3a8c], 0x70b526ed
mov dword [0x70bd3a90], 0x70b52547
mov dword [0x70bd3a94], 0x70b52660
mov dword [0x70bd3a98], 0x70b524d6
mov dword [0x70bd3a9c], 0x70b5266f
mov dword [0x70bd3aa0], 0x70b52580
mov dword [0x70bd3aa4], 0x70b5268a
mov dword [0x70bd3aa8], 0x70b524f3
mov dword [0x70bd3aac], 0x70b52699
mov dword [0x70bd3ab0], 0x70b525b8
mov dword [0x70bd3ab4], 0x70b526b4
mov dword [0x70bd3ab8], 0x70b5250f
mov dword [0x70bd3abc], 0x70b526c3
mov dword [0x70bd3ac0], 0x70b525ef
mov dword [0x70bd3ac4], 0x70b526de
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 + 0x70bbcf60]
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 + 0x70bd36b8]
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 0x70b4f4ee
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 0x70b500f8
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 + 0x70bbcf00]
mov ecx, dword [ebx*4 + 0x70bbcf10]
cmp ebx, 0
jg 0x70b4f5d0
mov byte [esp + 0xa0], 0
jmp 0x70b4f5dc
cmp byte [esp + 0xa0], 0
je 0x70b4f5dc
xor ecx, ecx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x40], cl
shr ecx, 8
mov eax, dword [ebx*4 + 0x70bbcee8]
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 0x70b4f610
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 0x70b4f62f
mov byte [esp + 0x44], 2
jmp 0x70b4f634
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 0x70b4f6ac
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x70bbcf60
cmp dword [esp + 0x9c], 0
je 0x70b4f6a7
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x70bbcf60
jmp 0x70b4f738
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
or ebx, ebx
jne 0x70b50131
or eax, eax
jne 0x70b4f6e2
cmp dword [esp + 0x94], 0
je 0x70b4f6f2
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebx
jmp 0x70b4f702
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x70bbcf60
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0x70bbcf60
cmp dword [esp + 0x9c], 0
je 0x70b4f71c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0x70bbcf60
cmp dword [esp + 0xa0], 0
je 0x70b4f736
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0x70bbcf60
jmp 0x70b4f738
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 0x70b4f77f
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 0x70b4f7c3
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 0x70b4f7f3
xor ebx, ebx
jmp 0x70b4f7fd
cmp ebx, 0x18
jl 0x70b4f7fd
mov ebx, 0x17
sub ebx, dword [esp + 0xc4]
add ebx, 0x80
mov byte [esp + eax + 0x1c0], bl
inc eax
js 0x70b4f7e1
mov eax, dword [esp + 0x30]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x4c]
shr eax, 1
mov eax, dword [eax*4 + 0x70bccf38]
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 0x70b4f934
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 + 0x70bbcf40]
or ebx, eax
mov dword [ebp + 0x2c], ebx
mov bl, byte [edx + 0x70bbcf30]
xor eax, 0x1000000
or ebx, eax
mov dword [ebp + 0x1c], ebx
mov bl, byte [edx + 0x70bbcf50]
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 0x70b4f9c0
test eax, 0x1000000
je 0x70b4f99c
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 0x70b500f8
mov edx, dword [esi + 4]
mov ebx, dword [esi]
shrd ebx, edx, cl
shr ebx, 1
jb 0x70b4fe84
mov dword [ebp], edi
mov ch, byte [esp + 0xe0]
add cl, ch
jae 0x70b4f9e4
add esi, 4
add cl, 0xe0
add ch, 0xfb
mov edx, dword [edi]
adc ch, 4
mov edx, ebx
ror ch, 2
jae 0x70b4fa00
add ch, 0x40
jae 0x70b4f9fd
shr ebx, 2
jmp 0x70b4fa00
shr ebx, 1
nop
and edx, dword [esp + 0xe8]
and ch, 1
mov ch, bl
je 0x70b4fa13
shr ebx, 4
jmp 0x70b4fa18
shr ebx, 1
and ch, 1
and ch, 0xf
mov edx, dword [edx*4 + 0x70bccf38]
or eax, edx
mov edx, dword [esp + 0xa0]
test edx, edx
jne 0x70b4fb7c
mov byte [esp + 0xe1], ch
mov dl, ch
and dl, 1
nop
or al, dl
mov edx, dword [esp + 0x2c]
or edx, edx
je 0x70b4fb28
or ch, byte [esp + 0xe4]
je 0x70b4fb14
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 + 0x70bd36c8]
mov ch, byte [esp + 0xe2]
jae 0x70b4fa96
add esi, 4
add cl, 0xe0
test eax, 0x300
je 0x70b4fb5f
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 0x70b4fada
test eax, 2
jne 0x70b4f8d1
test eax, 2
jne 0x70b4f934
mov dword [esp + 0x114], ebp
mov dword [esp + 0x110], edi
cmp byte [esp + 0xa0], 0
je 0x70b4fc4b
mov dword [esp + 0xa4], 1
mov ebx, dword [ebp + 4]
jmp 0x70b4fcc3
mov ebx, dword [esp + 0xf4]
mov edx, 0x80
rol eax, 6
jmp 0x70b4fa96
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 0x70b4faa1
add ebx, 0x60
jmp 0x70b4faa1
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 0x70b4fbdb
mov ebx, dword [esp + 0x2c]
mov dword [ebp + 4], ecx
mov ecx, dword [esp + 0x108]
cmp ebx, 0
mov ebx, dword [esp + 0x104]
je 0x70b4fa33
mov dword [esp + 0xf8], edx
jmp 0x70b4fa33
mov ebx, dword [esp + 0x124]
cmp ebx, 0xffffffff
je 0x70b4fbee
cmp ebx, 0xfffffffe
je 0x70b4fc12
jmp 0x70b4fbb1
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 0x70b4fbb1
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 0x70b4fbb1
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 + 0x70bd36c8]
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 + 0x70bd36c8]
add cl, ch
jae 0x70b4fcae
add esi, 4
add cl, 0xe0
lea ebx, [edi + ebx - 0x8080]
test eax, 0xc
mov dword [esp + 0xb4], ebx
jmp 0x70b4fcc3
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 8]
test eax, 4
jne 0x70b4fcea
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 0x70b4fd21
sub edi, ecx
sub esi, ecx
cmp dword [0x70bd4318], 0
jne 0x70b4fdc5
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 0x70b4fd59
shl ecx, 1
jmp 0x70b4fd63
sar edx, 1
jae 0x70b4fd63
add ebp, 0x80
mov ebx, ecx
test eax, 0x10
je 0x70b4fd7c
shr ebp, 1
and ecx, 0xf
add ebp, 0x200
and ebx, 0xfffffff0
jmp 0x70b4fd82
and ecx, 0x1f
and ebx, 0xffffffe0
mov ebp, dword [ebp + ecx*4 + 0x70bd37c8]
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 0x70b4fdc5
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 0x70b4f94a
cmp dword [esp + 0xa8], 0x8080
je 0x70b4f8c5
mov ecx, dword [esp + 0x120]
mov esi, dword [esp + 0x90]
xor ecx, 0xffffffff
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x120], ecx
je 0x70b4fe57
xor eax, 0x1000000
add dword [esp + 0x110], esi
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
jmp 0x70b4fcc3
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 0x70b4f8c5
mov dword [ebp], edi
mov edx, dword [esp + 0xc8]
or eax, edx
mov edx, dword [esp + 0xe4]
add cl, 1
jae 0x70b4fea2
add esi, 4
add cl, 0xe0
cmp edx, 0
je 0x70b4fedf
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 + 0x70bd36c8]
add cl, ch
jae 0x70b4fed8
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 0x70b4ff28
test eax, 2
jne 0x70b4f8d1
test eax, 2
jne 0x70b4f934
cmp dword [0x70bd4318], 0
je 0x70b5004b
mov dword [esp + 0x108], ecx
mov ecx, 0x8080
cmp dword [esp + 0xa0], 0
je 0x70b5001d
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 0x70b4ff8a
mov ebx, dword [esp + 0x104]
jmp 0x70b5001d
mov ebx, dword [esp + 0x124]
cmp ebx, 0xffffffff
je 0x70b4ff9d
cmp ebx, 0xfffffffe
je 0x70b4ffdb
jmp 0x70b4ff7e
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 0x70b4ff7e
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 0x70b4ff7e
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 0x70b4f94a
jmp 0x70b4f8c5
cmp dword [esp + 0xa0], 0
jne 0x70b4fb67
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 0x70b500d6
sub esi, dword [esp + 0x90]
sub edi, dword [esp + 0x90]
cmp dword [esp + 0xa4], 1
jne 0x70b500d6
cmp dword [esp + 0xa8], 0x8080
mov dword [esp + 0xa8], 0x8080
je 0x70b4fdcc
call fcn.70b50141
jmp 0x70b4fdcc
mov dword [esp + 0xa8], 0x8080
sub edi, esi
call fcn.70b501b4
mov dword [esp + 0xa4], 1
jmp 0x70b4fdcc
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