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

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push esi
mov esi, eax
lea edx, [ebp + 0xc]
xor ecx, ecx
sub ebp, esi
mov ebx, 2
mov dword [esp + 0xc], edx
push edi
mov edi, dword [esp + 0x20]
lea edx, [esi + 4]
mov esi, dword [0x4e73e0]
mov dword [esp + 0x2c], ebx
mov eax, 0x90c
mov dword [esp + 0x14], ebp
lea ebp, [ebx - 2]
test ebp, ebp
je 0x2f2985
cmp dword [esp + 0x28], 0
jne 0x2f29ba
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax - 4]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebp, dword [esp + 0x10]
mov ebx, dword [esi + 0x94]
mov ebp, dword [ebp - 0xc]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
lea ebp, [ebx - 2]
test ebp, ebp
je 0x2f29c8
cmp dword [esp + 0x30], 0
jne 0x2f29f6
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esi + 0x94]
or ebx, 0x20
shl ebx, 0xd
or ebx, eax
mov dword [ebp + ecx*4], ebx
mov ebx, dword [esi + 0x94]
mov ebp, dword [edx - 4]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
lea ebp, [ebx - 1]
test ebp, ebp
je 0x2f2a04
cmp dword [esp + 0x28], 0
jne 0x2f2a39
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x1c]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebp, dword [esp + 0x14]
mov ebx, dword [esi + 0x94]
mov ebp, dword [edx + ebp]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
lea ebp, [ebx - 1]
test ebp, ebp
je 0x2f2a47
cmp dword [esp + 0x30], 0
jne 0x2f2a77
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x20]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebx, dword [esi + 0x94]
mov ebp, dword [edx]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
test ebx, ebx
je 0x2f2a82
cmp dword [esp + 0x28], 0
jne 0x2f2ab7
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x3c]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebp, dword [esp + 0x10]
mov ebx, dword [esi + 0x94]
mov ebp, dword [ebp - 4]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
test ebx, ebx
je 0x2f2ac2
cmp dword [esp + 0x30], 0
jne 0x2f2af3
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x40]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebx, dword [esi + 0x94]
mov ebp, dword [edx + 4]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
lea ebp, [ebx + 1]
test ebp, ebp
je 0x2f2b01
cmp dword [esp + 0x28], 0
jne 0x2f2b36
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x5c]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebp, dword [esp + 0x10]
mov ebx, dword [esi + 0x94]
mov ebp, dword [ebp]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
lea ebp, [ebx + 1]
test ebp, ebp
je 0x2f2b44
cmp dword [esp + 0x30], 0
jne 0x2f2b75
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x60]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
mov ebx, dword [esi + 0x94]
mov ebp, dword [edx + 8]
add ecx, 1
mov dword [ebx + ecx*4], ebp
mov ebx, dword [esp + 0x2c]
add ecx, 1
add dword [esp + 0x10], 0x10
add ebx, 4
lea ebp, [ebx - 2]
add edx, 0x10
add eax, 0x80
cmp ebp, 8
mov dword [esp + 0x2c], ebx
jb 0x2f2977
mov eax, dword [edi + 0xc14]
mov edx, dword [esi + 0x94]
shl eax, 0xd
or eax, 0x408fc
mov dword [edx + ecx*4], eax
xor eax, eax
add ecx, 1
cmp dword [esp + 0x30], eax
mov ebx, 0x910
sete al
xor edx, edx
mov ebp, 0x8f0
mov dword [esp + 0x30], 2
shl eax, 4
cmp dword [esp + 0x28], edx
sete dl
add ecx, 1
or eax, edx
mov edx, dword [esi + 0x94]
shl eax, 0xc
or eax, dword [esp + 0x24]
or ah, 1
mov dword [edx + ecx*4 - 4], eax
mov edx, dword [esp + 0x38]
sub ebx, edx
mov dword [esp + 0x2c], ebx
mov ebx, 0x930
sub ebx, edx
mov dword [esp + 0x14], ebx
sub ebp, edx
mov ebx, 0x950
sub ebx, edx
lea eax, [edx + 0x10]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x10], ebx
jmp 0x2f2c20
mov ebp, dword [esp + 0x28]
mov edi, edi
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
add ebp, eax
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f2cfb
mov ebx, dword [esp + 0x30]
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0x24]
jae 0x2f2cfb
test edx, edx
je 0x2f2cfb
mov ebp, dword [eax - 0x10]
mov edx, dword [eax - 0xc]
mov edi, dword [eax + 4]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax - 4]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax - 8]
and edi, 0xff
shl ebp, 8
or ebp, dword [eax]
shl edx, 0x13
shl ebp, 5
or ebp, edi
mov edi, ebx
add ebp, ebp
shl edi, 0xb
add ebp, ebp
shl ebx, 0x10
add ebp, ebp
or ebp, dword [eax + 8]
not edi
and edi, 0x100000
or edi, ebx
shl ebp, 5
and edi, 0xff0000
or ebp, edi
mov edi, dword [eax + 0xc]
mov ebx, edi
shr ebx, 5
not ebx
not edx
and edx, 0x10000000
and ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x20]
and ebx, 0xff
or ebp, ebx
or ebp, edx
mov edx, dword [eax + 4]
add edx, edx
add edx, edx
add edx, edx
not edx
and edx, 0x1000
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x38]
jmp 0x2f2d08
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0x10101010
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x2c]
or ebx, 0x20
add ebp, eax
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f2deb
mov ebx, dword [esp + 0x30]
add ebx, 0xffffffff
cmp ebx, dword [esp + 0x24]
jae 0x2f2deb
test edx, edx
je 0x2f2deb
mov ebp, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov edi, dword [eax + 0x24]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 0x1c]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x18]
and edi, 0xff
shl ebp, 8
or ebp, dword [eax + 0x20]
shl edx, 0x13
shl ebp, 5
or ebp, edi
mov edi, ebx
add ebp, ebp
shl edi, 0xb
add ebp, ebp
shl ebx, 0x10
add ebp, ebp
or ebp, dword [eax + 0x28]
not edi
and edi, 0x100000
or edi, ebx
shl ebp, 5
and edi, 0xff0000
or ebp, edi
mov edi, dword [eax + 0x2c]
mov ebx, edi
shr ebx, 5
not ebx
not edx
and edx, 0x10000000
and ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x20]
and ebx, 0xff
or ebp, ebx
or ebp, edx
mov edx, dword [eax + 0x24]
add edx, edx
add edx, edx
add edx, edx
not edx
and edx, 0x1000
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x38]
jmp 0x2f2df8
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0x10101010
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x14]
or ebx, 0x20
add ebp, eax
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f2ed8
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x30], ebx
jae 0x2f2ed8
test edx, edx
je 0x2f2ed8
mov ebp, dword [eax + 0x30]
mov edx, dword [eax + 0x34]
mov edi, dword [eax + 0x44]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 0x3c]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x38]
and edi, 0xff
shl ebp, 8
or ebp, dword [eax + 0x40]
shl edx, 0x13
shl ebp, 5
or ebp, edi
mov edi, ebx
add ebp, ebp
shl edi, 0xb
add ebp, ebp
shl ebx, 0x10
add ebp, ebp
or ebp, dword [eax + 0x48]
not edi
and edi, 0x100000
or edi, ebx
shl ebp, 5
and edi, 0xff0000
or ebp, edi
mov edi, dword [eax + 0x4c]
mov ebx, edi
shr ebx, 5
not ebx
not edx
and edx, 0x10000000
and ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x20]
and ebx, 0xff
or ebp, ebx
or ebp, edx
mov edx, dword [eax + 0x44]
add edx, edx
add edx, edx
add edx, edx
not edx
and edx, 0x1000
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x38]
jmp 0x2f2ee5
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0x10101010
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x10]
or ebx, 0x20
add ebp, eax
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f2fc8
mov ebx, dword [esp + 0x30]
add ebx, 1
cmp ebx, dword [esp + 0x24]
jae 0x2f2fc8
test edx, edx
je 0x2f2fc8
mov ebp, dword [eax + 0x50]
mov edx, dword [eax + 0x54]
mov edi, dword [eax + 0x64]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 0x5c]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x58]
and edi, 0xff
shl ebp, 8
or ebp, dword [eax + 0x60]
shl edx, 0x13
shl ebp, 5
or ebp, edi
mov edi, ebx
add ebp, ebp
shl edi, 0xb
add ebp, ebp
shl ebx, 0x10
add ebp, ebp
or ebp, dword [eax + 0x68]
not edi
and edi, 0x100000
or edi, ebx
shl ebp, 5
and edi, 0xff0000
or ebp, edi
mov edi, dword [eax + 0x6c]
mov ebx, edi
shr ebx, 5
not ebx
not edx
and edx, 0x10000000
and ebx, 0x10
or ebx, edi
mov edi, dword [esp + 0x20]
and ebx, 0xff
or ebp, ebx
or ebp, edx
mov edx, dword [eax + 0x64]
add edx, edx
add edx, edx
add edx, edx
not edx
and edx, 0x1000
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
mov edx, dword [esp + 0x38]
jmp 0x2f2fd5
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0x10101010
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
add ebp, 4
mov dword [esp + 0x30], ebp
add ebp, 0xfffffffe
add ecx, 1
add eax, 0x80
cmp ebp, 8
jb 0x2f2c1a
mov edx, 0x920
sub edx, ebx
mov dword [esp + 0x14], edx
mov edx, 0x940
sub edx, ebx
mov dword [esp + 0x10], edx
mov ebp, 0x900
sub ebp, ebx
mov edx, 0x960
sub edx, ebx
mov dword [esp + 0x30], 2
lea eax, [ebx + 4]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], edx
jmp 0x2f3035
mov ebp, dword [esp + 0x28]
mov edx, dword [edi + 0xc14]
or edx, 0x20
add ebp, eax
shl edx, 0xd
or edx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], edx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f310d
mov edx, dword [esp + 0x30]
add edx, 0xfffffffe
cmp edx, dword [esp + 0x24]
jae 0x2f310d
test ebx, ebx
je 0x2f310d
mov ebp, dword [eax + 0x10]
mov edx, dword [eax]
mov dword [esp + 0x38], ebp
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x2c], ebp
mov ebp, dword [eax - 4]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 8]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 4]
and edx, 0x100
add ebp, ebp
or ebp, edx
shl ebp, 7
or ebp, dword [eax + 0xc]
mov edx, ebx
add ebp, ebp
and edx, 0x100
shl ebx, 4
or edx, ebx
and edx, 0xff0
or ebp, edx
mov edx, dword [esp + 0x38]
shl ebp, 4
mov ebx, edx
and ebx, 0xff
or ebp, ebx
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x14]
and edx, 0x100
add ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x2c]
mov ebx, edx
shr ebx, 4
and ebx, 0x10
shl ebp, 4
or ebp, ebx
mov ebx, dword [esp + 0x44]
and edx, 0xff
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
jmp 0x2f311a
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], 0
mov edx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x14]
or edx, 0x20
add ebp, eax
shl edx, 0xd
or edx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], edx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f31fa
mov edx, dword [esp + 0x30]
add edx, 0xffffffff
cmp edx, dword [esp + 0x24]
jae 0x2f31fa
test ebx, ebx
je 0x2f31fa
mov ebp, dword [eax + 0x30]
mov edx, dword [eax + 0x20]
mov dword [esp + 0x38], ebp
mov ebp, dword [eax + 0x38]
mov dword [esp + 0x2c], ebp
mov ebp, dword [eax + 0x1c]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 0x28]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x24]
and edx, 0x100
add ebp, ebp
or ebp, edx
shl ebp, 7
or ebp, dword [eax + 0x2c]
mov edx, ebx
add ebp, ebp
and edx, 0x100
shl ebx, 4
or edx, ebx
and edx, 0xff0
or ebp, edx
mov edx, dword [esp + 0x38]
shl ebp, 4
mov ebx, edx
and ebx, 0xff
or ebp, ebx
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x34]
and edx, 0x100
add ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x2c]
mov ebx, edx
shr ebx, 4
and ebx, 0x10
shl ebp, 4
or ebp, ebx
mov ebx, dword [esp + 0x44]
and edx, 0xff
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
jmp 0x2f3207
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], 0
mov edx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x10]
or edx, 0x20
add ebp, eax
shl edx, 0xd
or edx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], edx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f32e4
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x30], edx
jae 0x2f32e4
test ebx, ebx
je 0x2f32e4
mov ebp, dword [eax + 0x50]
mov edx, dword [eax + 0x40]
mov dword [esp + 0x38], ebp
mov ebp, dword [eax + 0x58]
mov dword [esp + 0x2c], ebp
mov ebp, dword [eax + 0x3c]
shl ebp, 5
or ebp, edx
mov ebx, dword [eax + 0x48]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x44]
and edx, 0x100
add ebp, ebp
or ebp, edx
shl ebp, 7
or ebp, dword [eax + 0x4c]
mov edx, ebx
add ebp, ebp
and edx, 0x100
shl ebx, 4
or edx, ebx
and edx, 0xff0
or ebp, edx
mov edx, dword [esp + 0x38]
shl ebp, 4
mov ebx, edx
and ebx, 0xff
or ebp, ebx
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x54]
and edx, 0x100
add ebp, ebp
or ebp, edx
mov edx, dword [esp + 0x2c]
mov ebx, edx
shr ebx, 4
and ebx, 0x10
shl ebp, 4
or ebp, ebx
mov ebx, dword [esp + 0x44]
and edx, 0xff
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
jmp 0x2f32f1
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], 0
mov edx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x18]
or edx, 0x20
add ebp, eax
shl edx, 0xd
or edx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], edx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f33cd
mov edx, dword [esp + 0x30]
add edx, 1
cmp edx, dword [esp + 0x24]
jae 0x2f33cd
test ebx, ebx
je 0x2f33cd
mov ebp, dword [eax + 0x78]
mov edx, dword [eax + 0x60]
mov dword [esp + 0x38], ebp
mov ebp, dword [eax + 0x5c]
shl ebp, 5
or ebp, edx
mov edi, dword [eax + 0x68]
add ebp, ebp
add ebp, ebp
mov ebx, dword [eax + 0x70]
add ebp, ebp
or ebp, dword [eax + 0x64]
and edx, 0x100
add ebp, ebp
or ebp, edx
shl ebp, 7
or ebp, dword [eax + 0x6c]
mov edx, edi
add ebp, ebp
and edx, 0x100
shl edi, 4
or edx, edi
and edx, 0xff0
or ebp, edx
shl ebp, 4
mov edx, ebx
and edx, 0xff
or ebp, edx
mov edx, dword [esp + 0x38]
add ebp, ebp
add ebp, ebp
add ebp, ebp
or ebp, dword [eax + 0x74]
and ebx, 0x100
add ebp, ebp
mov edi, edx
or ebp, ebx
mov ebx, dword [esp + 0x44]
shr edi, 4
and edi, 0x10
shl ebp, 4
or ebp, edi
mov edi, dword [esp + 0x20]
and edx, 0xff
or ebp, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebp
jmp 0x2f33da
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], 0
mov edx, dword [esp + 0x30]
add edx, 4
mov dword [esp + 0x30], edx
add edx, 0xfffffffe
add ecx, 1
add eax, 0x80
cmp edx, 8
jb 0x2f3031
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x44], 2
mov eax, 0x930
add edx, 8
lea ecx, [ecx]
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax - 0x20]
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f3461
mov ebx, dword [esp + 0x44]
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0x24]
jae 0x2f3461
cmp dword [esp + 0x3c], 0
je 0x2f3461
mov ebx, dword [edx - 8]
mov ebp, dword [esi + 0x94]
shl ebx, 7
or ebx, dword [edx - 4]
shl ebx, 8
mov dword [ebp + ecx*4], ebx
jmp 0x2f346e
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esi + 0x94]
or ebx, 0x20
shl ebx, 0xd
add ecx, 1
or ebx, eax
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f34be
mov ebx, dword [esp + 0x44]
add ebx, 0xffffffff
cmp ebx, dword [esp + 0x24]
jae 0x2f34be
cmp dword [esp + 0x3c], 0
je 0x2f34be
mov ebx, dword [edx]
mov ebp, dword [esi + 0x94]
shl ebx, 7
or ebx, dword [edx + 4]
shl ebx, 8
mov dword [ebp + ecx*4], ebx
jmp 0x2f34cb
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x20]
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f351c
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x44], ebx
jae 0x2f351c
cmp dword [esp + 0x3c], 0
je 0x2f351c
mov ebx, dword [edx + 8]
mov ebp, dword [esi + 0x94]
shl ebx, 7
or ebx, dword [edx + 0xc]
shl ebx, 8
mov dword [ebp + ecx*4], ebx
jmp 0x2f3529
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
or ebx, 0x20
shl ebx, 0xd
lea ebp, [eax + 0x40]
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x34], 0
je 0x2f357d
mov ebx, dword [esp + 0x44]
add ebx, 1
cmp ebx, dword [esp + 0x24]
jae 0x2f357d
cmp dword [esp + 0x3c], 0
je 0x2f357d
mov ebx, dword [edx + 0x10]
mov ebp, dword [esi + 0x94]
shl ebx, 7
or ebx, dword [edx + 0x14]
shl ebx, 8
mov dword [ebp + ecx*4], ebx
jmp 0x2f358a
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [esp + 0x44]
add ebx, 4
mov dword [esp + 0x44], ebx
add ebx, 0xfffffffe
add ecx, 1
add eax, 0x80
add edx, 0x20
cmp ebx, 8
jb 0x2f3410
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x34], 2
mov dword [esp + 0x44], 0x934
add eax, 4
jmp 0x2f35d0
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x44]
or ebx, 0x20
add ebp, 0xffffffe0
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f3668
mov ebx, dword [esp + 0x34]
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0x24]
jae 0x2f3668
cmp dword [esp + 0x48], 0
je 0x2f3668
mov edx, dword [eax]
mov ebp, dword [eax - 4]
mov ebx, edx
and ebx, 0xff00
neg ebx
sbb ebx, ebx
add ebp, ebp
neg ebx
add ebp, ebp
or ebx, ebp
mov ebp, edx
add ebx, ebx
and ebp, 0xff0000
neg ebp
sbb ebp, ebp
neg ebp
or ebx, ebp
mov ebp, edx
shl ebx, 4
shr edx, 4
and ebp, 0xff
or ebx, ebp
and edx, 0xff0
shl ebx, 8
or ebx, edx
movzx edx, byte [eax + 2]
or ebx, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebx
mov edx, dword [esp + 0x4c]
jmp 0x2f3675
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esi + 0x94]
or ebx, 0x20
shl ebx, 0xd
or ebx, dword [esp + 0x44]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f370c
mov ebx, dword [esp + 0x34]
add ebx, 0xffffffff
cmp ebx, dword [esp + 0x24]
jae 0x2f370c
cmp dword [esp + 0x48], 0
je 0x2f370c
mov edx, dword [eax + 8]
mov ebp, dword [eax + 4]
mov ebx, edx
and ebx, 0xff00
neg ebx
sbb ebx, ebx
add ebp, ebp
add ebp, ebp
neg ebx
or ebx, ebp
mov ebp, edx
and ebp, 0xff0000
add ebx, ebx
neg ebp
sbb ebp, ebp
neg ebp
or ebx, ebp
mov ebp, edx
shl ebx, 4
and ebp, 0xff
or ebx, ebp
movzx ebp, byte [eax + 0xa]
shr edx, 4
shl ebx, 8
and edx, 0xff0
or ebx, ebp
or ebx, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebx
mov edx, dword [esp + 0x4c]
jmp 0x2f3719
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x44]
or ebx, 0x20
add ebp, 0x20
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f37b2
mov ebx, dword [esp + 0x24]
cmp dword [esp + 0x34], ebx
jae 0x2f37b2
cmp dword [esp + 0x48], 0
je 0x2f37b2
mov edx, dword [eax + 0x10]
mov ebp, dword [eax + 0xc]
mov ebx, edx
and ebx, 0xff00
neg ebx
sbb ebx, ebx
add ebp, ebp
add ebp, ebp
neg ebx
or ebx, ebp
mov ebp, edx
and ebp, 0xff0000
add ebx, ebx
neg ebp
sbb ebp, ebp
neg ebp
or ebx, ebp
mov ebp, edx
shl ebx, 4
and ebp, 0xff
or ebx, ebp
movzx ebp, byte [eax + 0x12]
shr edx, 4
shl ebx, 8
and edx, 0xff0
or ebx, ebp
or ebx, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebx
mov edx, dword [esp + 0x4c]
jmp 0x2f37bf
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [edi + 0xc14]
mov ebp, dword [esp + 0x44]
or ebx, 0x20
add ebp, 0x40
shl ebx, 0xd
or ebx, ebp
mov ebp, dword [esi + 0x94]
add ecx, 1
mov dword [ebp + ecx*4], ebx
add ecx, 1
cmp dword [esp + 0x40], 0
je 0x2f385b
mov ebx, dword [esp + 0x34]
add ebx, 1
cmp ebx, dword [esp + 0x24]
jae 0x2f385b
cmp dword [esp + 0x48], 0
je 0x2f385b
mov edx, dword [eax + 0x18]
mov ebp, dword [eax + 0x14]
mov ebx, edx
and ebx, 0xff00
neg ebx
sbb ebx, ebx
add ebp, ebp
add ebp, ebp
neg ebx
or ebx, ebp
mov ebp, edx
and ebp, 0xff0000
add ebx, ebx
neg ebp
sbb ebp, ebp
neg ebp
or ebx, ebp
mov ebp, edx
shl ebx, 4
and ebp, 0xff
or ebx, ebp
movzx ebp, byte [eax + 0x1a]
shr edx, 4
shl ebx, 8
and edx, 0xff0
or ebx, ebp
or ebx, edx
mov edx, dword [esi + 0x94]
mov dword [edx + ecx*4], ebx
mov edx, dword [esp + 0x4c]
jmp 0x2f3868
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], 0
mov ebx, dword [esp + 0x34]
add dword [esp + 0x44], 0x80
add ebx, 4
mov dword [esp + 0x34], ebx
add ebx, 0xfffffffe
add ecx, 1
add eax, 0x20
cmp ebx, 8
jb 0x2f35d0
mov eax, dword [edi + 0xc14]
shl eax, 0xd
or eax, 0x408f4
mov ebx, dword [esi + 0x94]
mov dword [ebx + ecx*4], eax
mov eax, dword [edx]
add eax, eax
or eax, dword [edx + 4]
mov ebx, dword [esi + 0x94]
shl eax, 4
or eax, dword [edx + 8]
add ecx, 1
add eax, eax
add eax, eax
add eax, eax
or eax, dword [edx + 0xc]
add ecx, 1
add eax, eax
or eax, dword [edx + 0x10]
add ecx, 1
shl eax, 4
or eax, dword [edx + 0x14]
add esi, 8
add eax, eax
add eax, eax
add eax, eax
or eax, dword [edx + 0x18]
add eax, eax
or eax, dword [edx + 0x1c]
shl eax, 4
or eax, dword [edx + 0x20]
add eax, eax
add eax, eax
add eax, eax
or eax, dword [edx + 0x24]
add eax, eax
or eax, dword [edx + 0x28]
shl eax, 4
or eax, dword [edx + 0x2c]
mov dword [ebx + ecx*4 - 8], eax
mov eax, dword [edi + 0xc14]
mov edi, dword [esi + 0x8c]
shl eax, 0xd
or eax, 0x408f8
mov dword [edi + ecx*4 - 4], eax
mov eax, dword [edx + 0x30]
add eax, eax
or eax, dword [edx + 0x34]
shl eax, 4
or eax, dword [edx + 0x38]
add eax, eax
add eax, eax
add eax, eax
or eax, dword [edx + 0x3c]
add eax, eax
or eax, dword [edx + 0x40]
shl eax, 4
or eax, dword [edx + 0x44]
add eax, eax
add eax, eax
add eax, eax
or eax, dword [edx + 0x48]
add eax, eax
or eax, dword [edx + 0x4c]
shl eax, 4
or eax, dword [edx + 0x50]
mov edx, dword [esi + 0x8c]
shl eax, 8
or al, 0x80
mov dword [edx + ecx*4], eax
lea eax, [ecx*4 + 4]
add dword [esi + 0x8c], eax
mov eax, dword [esi + 0x8c]
cmp eax, dword [esi + 0xa4]
jb 0x2f3981
mov eax, esi
call fcn.000b5d70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 0x30