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

Disassembly:
sub esp, 0x50
mov eax, dword [esp + 0x78]
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
push esi
push edi
xor edi, edi
xor ebx, ebx
test byte [0x54c654], 1
mov byte [esp + 0x64], 0
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], 0xbf800000
jne 0x2111a1
or dword [0x54c654], 1
push 0xc00
push 0xc00
push 0x8200000
push 0x18200000
mov esi, 0x54c238
call fcn.0020fa60
mov eax, dword [esp + 0x88]
cmp eax, edi
mov dword [esp + 0x18], eax
mov byte [esp + 0x13], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], edi
je 0x2111c7
mov eax, dword [eax + 4]
mov dword [esp + 0x20], eax
jmp 0x2111cb
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x6c]
lea eax, [ebp + 0x2d0]
mov byte [ebp + 0x73c], 0
sub ecx, eax
mov edx, 9
mov esi, dword [ecx + eax]
mov dword [eax], esi
add eax, 4
sub edx, 1
jne 0x2111e3
mov cl, byte [esp + 0x74]
mov dl, byte [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov dword [ebp + 0x708], edi
mov dword [ebp + 0x72c], edi
mov dword [ebp + 0x770], edi
mov dword [ebp + 0x744], edi
mov dword [ebp + 0x748], edi
mov dword [ebp + 0x740], 0xffffffff
mov dword [ebp + 0x788], edi
mov dword [ebp + 0x78c], edi
mov dword [ebp + 0x790], edi
mov dword [ebp + 0x730], edi
mov byte [ebp + 0x77c], cl
mov byte [ebp + 0x77d], dl
mov eax, dword [esi + 0x20]
test eax, 0x3fff0000
jne 0x21128d
mov eax, dword [esi]
test ah, 0x30
jne 0x21128d
test al, 0x40
jne 0x21128d
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
push 0xf30c0
call dword [eax + 0x10]
test eax, eax
je 0x21128d
cmp dword [esp + 0x20], edi
jne 0x211283
test byte [esi], 0x90
je 0x21128d
cmp byte [ebp + 0x77c], 0
jne 0x21128d
mov byte [esp + 0x88], 1
jmp 0x211295
mov byte [esp + 0x88], 0
cmp byte [esp + 0x88], 0
mov ecx, dword [esp + 0x70]
mov dword [ebp + 0x780], ecx
je 0x2114eb
push 0x158
push 0x527e10
call fcn.000b7380
cmp eax, edi
je 0x2112c9
call fcn.00134970
mov ebx, eax
jmp 0x2112cb
xor ebx, ebx
push 0xc
push 0x527e10
mov dword [esp + 0x1c], ebx
call fcn.000b7380
cmp eax, edi
je 0x2112e9
mov dword [eax], edi
mov dword [eax + 8], edi
mov dword [eax + 4], edi
jmp 0x2112eb
xor eax, eax
cmp ebx, edi
mov dword [esp + 0x1c], eax
je 0x2114eb
cmp eax, edi
je 0x2114eb
mov esi, dword [esp + 0x6c]
mov ecx, 9
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
and byte [esp + 0x3c], 0x6f
cmp dword [esp + 0x20], 0
je 0x21135c
mov edx, dword [esp + 0x98]
push edx
push 0
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x90]
lea ecx, [ebp + 0x720]
push ecx
lea edx, [ebp + 0x778]
push edx
mov edx, dword [esp + 0x7c]
push eax
lea ecx, [esp + 0x54]
push ecx
push edx
mov eax, ebx
call fcn.001fdbb0
mov dword [ebp + 0x774], 2
jmp 0x2113ab
mov eax, dword [esp + 0x98]
push eax
push 0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x8c]
lea edx, [ebp + 0x720]
push edx
lea eax, [ebp + 0x778]
push eax
mov eax, dword [esp + 0x7c]
push ecx
lea edx, [esp + 0x54]
push edx
push eax
mov eax, ebx
call fcn.001fdbb0
mov dword [ebp + 0x774], 0
or dword [ebx + 0xa0], 0xf
mov dword [esp + 0x18], 0x54c238
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0x74], ecx
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x2113c3
call fcn.002137c0
jmp 0x2113c5
xor eax, eax
cmp dword [ebx + 0x10], 0
jne 0x21147b
mov edx, dword [esp + 0x6c]
test byte [edx], 0x10
je 0x21147b
test eax, eax
je 0x21147b
lea eax, [esp + 0x74]
push eax
mov edi, ebx
call fcn.002059b0
test al, al
je 0x21147b
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x9c]
mov ecx, dword [esp + 0x74]
or dword [eax + 0xa0], ecx
shl ebx, 8
or ebx, 3
call fcn.00153e20
mov esi, eax
call fcn.00153e20
sub esp, 0x20
mov edi, esp
sub esp, 0x20
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov edi, esp
mov esi, eax
mov ecx, 8
sub esp, 0x20
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xb00
mov eax, esp
push ecx
call fcn.00134250
sub esp, 0x10
mov eax, esp
push ebx
call fcn.00134640
mov edx, dword [esp + 0x84]
push 7
push 7
push 1
push 0x17
push edx
call fcn.001f8a40
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x13], 1
mov dword [ebp + 0x774], 2
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x28]
push eax
mov al, byte [ebp + 0x77c]
push ebp
push ecx
mov ecx, dword [ebp + 0x774]
push esi
push edx
push eax
push ecx
push ebx
call fcn.001f8e40
mov edx, dword [ebp + 0x730]
mov ecx, dword [esp + 0x1c]
lea eax, [ebp + 0xc]
mov dword [esp + 0x38], edx
call fcn.00213760
test esi, esi
je 0x2114c9
mov edi, dword [esp + 0x18]
xor dl, dl
call fcn.002110c0
mov eax, dword [ebp + 0x724]
mov ecx, dword [ebp + 0x734]
mov edx, dword [ebp + 0x714]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
test byte [esi], 0x40
mov byte [esp + 0x74], 0
je 0x211519
mov eax, dword [esi + 8]
shr eax, 0x1a
push ebp
and eax, 0xf
push eax
mov eax, dword [esp + 0x88]
push eax
call fcn.00205ae0
test al, al
je 0x211519
and dword [esi], 0xffffffbf
mov byte [esp + 0x74], 1
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x74]
push ecx
push edx
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x78]
lea ecx, [ebp + 0x720]
push ecx
mov ecx, dword [esp + 0x78]
lea edi, [ebp + 0x778]
push edi
push edx
push eax
lea esi, [ebp + 0x1c]
push ecx
mov eax, esi
call fcn.001fdbb0
mov ecx, dword [esp + 0x68]
xor edx, edx
cmp dword [ebp + 0x2c], edx
push 0xf000000
setne dl
mov dword [esp + 0x78], 0xbf800000
mov dword [ebp + 0x774], edx
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
je 0x2115c9
mov ecx, dword [esp + 0x6c]
test byte [ecx + 1], 0x40
je 0x21158c
or eax, 0xffffffff
jmp 0x211593
mov eax, dword [esp + 0x98]
mov dl, byte [ebp + 0x77c]
push eax
mov eax, dword [esp + 0x90]
push eax
mov byte [esp + 0xa0], dl
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebp + 0x774]
push ebp
push ecx
push edx
push esi
call fcn.001fd3c0
test al, al
je 0x211906
jmp 0x211637
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx]
push 0x500000
call dword [eax + 0x10]
test eax, eax
je 0x211611
mov ecx, dword [esp + 0x98]
mov edx, dword [edi]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [ebp + 0x780]
push edx
mov edx, dword [esp + 0x84]
push eax
mov al, byte [ebp + 0x77c]
push ebp
push ecx
mov ecx, dword [ebp + 0x774]
push edx
push eax
push ecx
push esi
call fcn.001fbb10
jmp 0x211637
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
lea edx, [esp + 0x74]
push edx
mov dl, byte [ebp + 0x77c]
push ebp
push eax
mov eax, dword [ebp + 0x774]
push 0
push ecx
push edx
push eax
push esi
call fcn.001f8e40
fld dword [esp + 0x28]
fcomp dword [esp + 0x74]
mov byte [esp + 0x74], 1
fnstsw ax
test ah, 5
jnp 0x211650
mov byte [esp + 0x74], 0
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx]
push 0x20000
call dword [edx + 0x10]
test eax, eax
je 0x21167a
fld dword [esp + 0x28]
fcomp dword [0x41bc3c]
fnstsw ax
test ah, 0x41
jp 0x21167a
mov eax, 1
jmp 0x21167c
xor eax, eax
cmp dword [esp + 0x7c], 0
sete cl
or cl, al
or byte [esp + 0x74], cl
cmp byte [esp + 0x88], 0
je 0x2116e0
cmp byte [esp + 0x74], 0
je 0x2116e0
mov edx, dword [esi]
push ebx
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [ebp + 0x724], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp + 0x734], ecx
lea ecx, [ebp + 0xc]
mov dword [ebp + 0x714], edx
call fcn.00213760
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x730], eax
mov byte [ebp + 0x70d], 1
jmp 0x2116e7
mov byte [ebp + 0x70d], 0
cmp byte [ebp + 0x70d], 0
je 0x21174d
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
xor ebx, ebx
test eax, eax
mov dword [ebp + 0x2f8], eax
jbe 0x211730
mov esi, ecx
lea edi, [ebp + 0x300]
add esi, 0xc
mov edi, edi
mov ecx, esi
mov eax, edi
call fcn.00210e00
add ebx, 1
add esi, 0x80
add edi, 0x80
cmp ebx, dword [ebp + 0x2f8]
jb 0x211710
cmp dword [esp + 0x70], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 8]
mov esi, dword [esp + 0x6c]
sete dl
mov eax, ebp
push edx
call fcn.002136c0
jmp 0x211757
mov dword [ebp + 0x2f8], 0
cmp byte [esp + 0x88], 0
je 0x21177b
cmp byte [esp + 0x74], 0
je 0x21177b
cmp byte [esp + 0x13], 0
je 0x21177b
mov dword [ebp + 0x72c], 1
jmp 0x2117ac
mov eax, dword [ebp + 8]
test eax, eax
je 0x2117b8
mov ecx, dword [eax + 0x6314]
test cl, 0x10
je 0x2117b8
test ch, 1
je 0x2117b8
cmp dword [eax + 0x632c], 0
je 0x2117b8
mov ecx, dword [esp + 0x6c]
test byte [ecx], 0x10
je 0x2117b8
push 1
push ebp
call fcn.00211bd0
lea ecx, [ebp + 0x734]
push ebp
call fcn.00213440
cmp byte [ebp + 0x70d], 0
je 0x2118fd
mov eax, dword [ebp + 0x708]
mov edi, 2
cmp eax, edi
je 0x2118fd
cmp eax, 3
je 0x2118fd
xor esi, esi
cmp dword [ebp + 0x2f8], esi
jbe 0x21187c
lea edx, [ebp + 0x300]
mov eax, dword [edx + 4]
mov ecx, dword [edx]
mov ebx, eax
and ebx, 0xf000000
cmp ebx, 0x5000000
je 0x211876
mov ebx, eax
and ebx, 0xf0000
cmp ebx, 0x50000
je 0x211876
mov ebx, eax
and ebx, 0xf00
cmp ebx, 0x500
je 0x211876
and eax, 0xf
cmp al, 5
je 0x211876
mov eax, ecx
and eax, 0xf000000
cmp eax, 0x5000000
je 0x211876
mov eax, ecx
and eax, 0xf0000
cmp eax, 0x50000
je 0x211876
mov eax, ecx
and eax, 0xf00
cmp eax, 0x500
je 0x211876
and ecx, 0xf
cmp cl, 5
je 0x211876
add esi, 1
add edx, 0x80
cmp esi, dword [ebp + 0x2f8]
jb 0x2117f5
jmp 0x21187c
or dword [ebp + 0x734], edi
mov ecx, dword [ebp + 0x700]
mov eax, ecx
shr eax, 0x18
and eax, 0xf
cmp eax, 5
je 0x2118f7
cmp eax, 0xe
je 0x2118f7
mov eax, ecx
shr eax, 0x10
and eax, 0xf
cmp eax, 5
je 0x2118f7
cmp eax, 0xe
je 0x2118f7
mov eax, ecx
shr eax, 8
and eax, 0xf
cmp eax, 5
je 0x2118f7
cmp eax, 0xe
je 0x2118f7
and ecx, 0xf
cmp ecx, 5
je 0x2118f7
cmp ecx, 0xe
je 0x2118f7
mov eax, dword [ebp + 0x704]
mov ecx, eax
and ecx, 0xf000000
cmp ecx, 0x5000000
je 0x2118f7
mov edx, eax
and edx, 0xf0000
cmp edx, 0x50000
je 0x2118f7
and eax, 0xf00
cmp eax, 0x500
jne 0x2118fd
or dword [ebp + 0x734], edi
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x64], 1
xor ebp, ebp
cmp ebx, ebp
je 0x211914
mov eax, dword [ebx]
push 1
mov ecx, ebx
call dword [eax]
mov edi, dword [esp + 0x1c]
cmp edi, ebp
je 0x211940
mov eax, dword [edi]
cmp eax, ebp
je 0x21192e
mov esi, 0x527e10
call fcn.000b7610
mov dword [edi], ebp
mov eax, edi
mov esi, 0x527e10
mov dword [edi + 8], ebp
mov dword [edi + 4], ebp
call fcn.000b7610
mov al, byte [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x38