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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push ebx
push esi
mov ebx, edx
mov esi, ecx
push edi
mov dword [ebp - 0x5c], ebx
call fcn.0042f510
test eax, eax
jne 0x4ab8b7
cmp word [esi + 0x191dc], ax
je 0x4ab789
mov dword [esi + 0x19e7c], 3
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x4ab7a0
cmp byte [ebx], 0x2d
jne 0x4ab7a0
lea edi, [esi + 0x19e7c]
mov dword [ebp - 8], edi
jmp 0x4ab823
push ebx
lea edx, [esi + 0x17594]
mov ecx, esi
call fcn.004279f0
add esp, 4
mov dword [esi + 0x19e7c], eax
lea ecx, [esi + 0x19e7c]
test eax, eax
jne 0x4ab818
mov word [esi + 0x191ec], ax
cmp word [esi + 0x191e4], ax
je 0x4ab7e7
test dword [esi + 4], 0x1000
je 0x4ab7e7
mov dword [ecx], 0x17
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 0x656a], ax
je 0x4ab810
inc dword [esi + 0x656c]
mov eax, dword [esi + 0x656c]
cmp eax, dword [esi + 0x60]
jbe 0x4ab810
mov dword [ecx], 0x32
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ecx], 0
xor eax, eax
mov dword [ebp - 8], ecx
test eax, eax
jne 0x4ab780
push fcn.004626d0
push 0x45bfa0
lea eax, [esi + 0x18594]
mov ecx, esi
push eax
lea eax, [esi + 0x18194]
push eax
push 0x9c
push 0x1b
push dword [ebp + 8]
lea edx, [esi + 0x17994]
call fcn.0042bab0
mov ebx, eax
add esp, 0x1c
mov dword [ebp - 0xc], ebx
test ebx, ebx
je 0x4ab780
mov ecx, dword [esi + 0x191f4]
test ecx, ecx
je 0x4ab8f7
cmp ecx, 0x1b
je 0x4ab8ef
cmp word [esi + 0x191ec], 0
jne 0x4ab89b
cmp word [esi + 0x656a], 0
mov eax, 1
mov word [esi + 0x191ec], ax
je 0x4ab89b
dec dword [esi + 0x656c]
push dword [ebp + 0xc]
mov byte [esi + 0x17994], 0
mov ecx, ebx
push dword [ebp - 0x5c]
mov eax, dword [ebx]
push esi
call dword [eax + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x19e7c]
lea edi, [esi + 0x19e7c]
mov dword [ebp - 8], edi
mov ecx, edi
mov eax, edx
cmp edx, 6
jne 0x4ab818
test ebx, ebx
je 0x4ab818
cmp byte [ebx], 0x2d
jne 0x4ab818
mov dword [edi], 0
jmp 0x4ab823
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 4]
push ecx
push 2
mov edx, str.base
mov ecx, esi
call fcn.0042e880
add esp, 8
mov dword [ebx + 4], 0
test eax, eax
je 0x4ab94b
push 0
push 0xffffffffffffffff
push 0
mov edx, eax
mov ecx, esi
call fcn.00431fe0
add esp, 0xc
test eax, eax
je 0x4ab94b
mov edx, eax
mov ecx, esi
call fcn.00426d00
mov dword [ebx + 4], eax
test eax, eax
jne 0x4ab94b
mov dword [esi + 0x19e7c], 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 8]
cmp dword [edi], 0
jne 0x4ab780
cmp word [esi + 0x656a], 0
lea ebx, [esi + 0x17d94]
mov eax, 1
mov ecx, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], eax
je 0x4abe81
cmp byte [ebx], 0x23
je 0x4abe81
mov ebx, dword [ebp - 0xc]
nop dword [eax]
mov dword [edi], 3
test eax, eax
je 0x4ab9ee
push ecx
lea eax, [ebx + 8]
mov edx, str.xs:simpleType
push eax
mov ecx, esi
call fcn.004bfcc0
mov ecx, dword [ebp - 4]
add esp, 8
test eax, eax
je 0x4ab9ee
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
jmp 0x4ab9c0
test ecx, ecx
je 0x4aba1b
cmp dword [edi], 3
jne 0x4aba1b
push ecx
lea eax, [ebx + 0xc]
mov edx, str.xs:attributeGroup
push eax
mov ecx, esi
call fcn.004bdbe0
add esp, 8
test eax, eax
je 0x4aba1b
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 8]
dec ecx
mov dword [ebp - 4], ecx
jmp 0x4ab9c0
cmp dword [ebp - 0x10], 0
je 0x4aba4c
cmp dword [edi], 3
jne 0x4aba4c
push ecx
lea eax, [ebx + 0x10]
mov edx, str.xs:group
push eax
mov ecx, esi
call fcn.004bebc0
add esp, 8
test eax, eax
je 0x4aba4c
dec dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x14], 0
je 0x4aba7d
cmp dword [edi], 3
jne 0x4aba7d
push ecx
lea eax, [ebx + 0x14]
mov edx, str.xs:all
push eax
mov ecx, esi
call fcn.004be290
add esp, 8
test eax, eax
je 0x4aba7d
dec dword [ebp - 0x14]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x18], 0
je 0x4abaae
cmp dword [edi], 3
jne 0x4abaae
push ecx
lea eax, [ebx + 0x18]
mov edx, str.xs:choice
push eax
mov ecx, esi
call fcn.004be8b0
add esp, 8
test eax, eax
je 0x4abaae
dec dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x1c], 0
je 0x4abadf
cmp dword [edi], 3
jne 0x4abadf
push ecx
lea eax, [ebx + 0x1c]
mov edx, str.xs:sequence
push eax
mov ecx, esi
call fcn.004be8b0
add esp, 8
test eax, eax
je 0x4abadf
dec dword [ebp - 0x1c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
mov eax, dword [edi]
cmp eax, 3
jne 0x4abb05
push ecx
lea eax, [ebx + 0x20]
mov ecx, esi
push eax
call fcn.004d5fa0
mov ecx, dword [ebp - 4]
add esp, 8
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4ab9c0
mov eax, dword [edi]
cmp dword [ebp - 0x20], 0
je 0x4abb36
cmp eax, 3
jne 0x4abb36
push ecx
lea eax, [ebx + 0x2c]
mov edx, str.xs:anyAttribute
push eax
mov ecx, esi
call fcn.004bdef0
add esp, 8
test eax, eax
je 0x4abb36
dec dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [edi], 3
jne 0x4abb58
push ecx
lea eax, [ebx + 0x30]
mov ecx, esi
push eax
call fcn.004d4b00
mov ecx, dword [ebp - 4]
add esp, 8
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4ab9c0
mov eax, dword [edi]
cmp eax, 3
jne 0x4abb7e
push ecx
lea eax, [ebx + 0x3c]
mov ecx, esi
push eax
call fcn.004d4540
mov ecx, dword [ebp - 4]
add esp, 8
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4ab9c0
mov eax, dword [edi]
cmp dword [ebp - 0x24], 0
je 0x4abbaf
cmp eax, 3
jne 0x4abbaf
push ecx
lea eax, [ebx + 0x48]
mov edx, str.xs:whiteSpace
push eax
mov ecx, esi
call fcn.004bcb70
add esp, 8
test eax, eax
je 0x4abbaf
dec dword [ebp - 0x24]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x28], 0
je 0x4abbe0
cmp dword [edi], 3
jne 0x4abbe0
push ecx
lea eax, [ebx + 0x4c]
mov edx, str.xs:length
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abbe0
dec dword [ebp - 0x28]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x2c], 0
je 0x4abc11
cmp dword [edi], 3
jne 0x4abc11
push ecx
lea eax, [ebx + 0x50]
mov edx, str.xs:minLength
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abc11
dec dword [ebp - 0x2c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x30], 0
je 0x4abc42
cmp dword [edi], 3
jne 0x4abc42
push ecx
lea eax, [ebx + 0x54]
mov edx, str.xs:maxLength
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abc42
dec dword [ebp - 0x30]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x34], 0
je 0x4abc73
cmp dword [edi], 3
jne 0x4abc73
push ecx
lea eax, [ebx + 0x58]
mov edx, str.xs:precision
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abc73
dec dword [ebp - 0x34]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x38], 0
je 0x4abca4
cmp dword [edi], 3
jne 0x4abca4
push ecx
lea eax, [ebx + 0x5c]
mov edx, str.xs:scale
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abca4
dec dword [ebp - 0x38]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x3c], 0
je 0x4abcd5
cmp dword [edi], 3
jne 0x4abcd5
push ecx
lea eax, [ebx + 0x60]
mov edx, str.xs:totalDigits
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abcd5
dec dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x40], 0
je 0x4abd06
cmp dword [edi], 3
jne 0x4abd06
push ecx
lea eax, [ebx + 0x64]
mov edx, str.xs:fractionDigits
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abd06
dec dword [ebp - 0x40]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x44], 0
je 0x4abd37
cmp dword [edi], 3
jne 0x4abd37
push ecx
lea eax, [ebx + 0x68]
mov edx, str.xs:minInclusive
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abd37
dec dword [ebp - 0x44]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x48], 0
je 0x4abd68
cmp dword [edi], 3
jne 0x4abd68
push ecx
lea eax, [ebx + 0x6c]
mov edx, str.xs:maxInclusive
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abd68
dec dword [ebp - 0x48]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x4c], 0
je 0x4abd99
cmp dword [edi], 3
jne 0x4abd99
push ecx
lea eax, [ebx + 0x70]
mov edx, str.xs:minExclusive
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abd99
dec dword [ebp - 0x4c]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x50], 0
je 0x4abdca
cmp dword [edi], 3
jne 0x4abdca
push ecx
lea eax, [ebx + 0x74]
mov edx, str.xs:maxExclusive
push eax
mov ecx, esi
call fcn.004bc7c0
add esp, 8
test eax, eax
je 0x4abdca
dec dword [ebp - 0x50]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
cmp dword [ebp - 0x54], 0
je 0x4abdfb
cmp dword [edi], 3
jne 0x4abdfb
push ecx
lea eax, [ebx + 0x78]
mov edx, str.xs:annotation
push eax
mov ecx, esi
call fcn.004c0220
add esp, 8
test eax, eax
je 0x4abdfb
dec dword [ebp - 0x54]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
mov eax, dword [edi]
cmp eax, 3
jne 0x4abe21
push ecx
lea eax, [ebx + 0x7c]
mov ecx, esi
push eax
call fcn.004d5140
mov ecx, dword [ebp - 4]
add esp, 8
test eax, eax
mov eax, dword [ebp - 8]
jne 0x4ab9c0
mov eax, dword [edi]
cmp dword [ebp - 0x58], 0
je 0x4abe55
cmp eax, 3
jne 0x4abe55
push ecx
lea eax, [ebx + 0x88]
mov edx, str.xs:assertion
push eax
mov ecx, esi
call fcn.004bc420
add esp, 8
test eax, eax
je 0x4abe55
dec dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
mov eax, dword [edi]
cmp eax, 3
jne 0x4abe65
mov ecx, esi
call fcn.004587a0
mov dword [edi], eax
cmp eax, 6
je 0x4ac008
test eax, eax
jne 0x4ab780
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
jmp 0x4ab9c0
test ebx, ebx
je 0x4abffe
cmp byte [ebx], 0
je 0x4abffe
mov edx, ebx
mov ecx, esi
call fcn.0042b900
mov edi, eax
test edi, edi
jne 0x4abebf
push 0x9c
push 0x1b
mov edx, ebx
mov ecx, esi
call fcn.0042b960
mov edi, eax
add esp, 8
test edi, edi
jne 0x4abed6
jmp 0x4abff7
cmp dword [edi + 4], 0x1b
jne 0x4abfee
cmp dword [edi + 8], 0x9c
jne 0x4abfee
push 0x18
call fcn.004fe9dc
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4abef5
mov dword [esi + 0x19e7c], 0x14
jmp 0x4abff7
push dword [edi + 4]
push 0x1b
call fcn.004626d0
add esp, 8
test eax, eax
je 0x4abf3a
cmp dword [edi + 0xc], 0
jne 0x4abf3a
cmp dword [edi + 0x18], 0
jne 0x4abf3a
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4abf2c
nop dword [eax]
cmp dword [eax + 0xc], 0
je 0x4abf3a
mov eax, dword [eax]
test eax, eax
jne 0x4abf20
mov dword [edi + 4], 0x1b
mov dword [edi + 8], 0x9c
mov eax, dword [edi + 4]
cmp eax, 0x1b
jne 0x4abfa0
cmp dword [edi + 8], 0x9c
jne 0x4abfa0
mov eax, dword [edi + 0x1c]
mov dword [ebx], eax
mov eax, dword [ebp - 0xc]
mov dword [edi + 0x1c], ebx
cmp dword [esi + 0x90], 0
mov dword [ebx + 4], 0x1b
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x14], 0x462820
jne 0x4abf90
cmp word [esi + 0x5fde], 0
jne 0x4abf90
xor eax, eax
mov word [edi + 0x24], ax
jmp 0x4abffe
mov eax, 1
mov word [edi + 0x24], ax
jmp 0x4abffe
add eax, 0xfffffef1
cmp eax, 0xd9
ja case.0x4abfb3.272
movzx eax, byte [eax + 0x4ac03c]
jmp dword [eax*4 + 0x4ac024]
mov eax, 0x13e
jmp 0x4abfa0
mov eax, pe_nt_image_headers32
jmp 0x4abfa0
mov eax, 0x1a7
jmp 0x4abfa0
mov eax, 0x19e
jmp 0x4abfa0
mov eax, 0x17
jmp 0x4abfa0
push ebx
call fcn.004f6893
add esp, 4
lea edx, [esi + 0x17d94]
jmp 0x4abff0
mov edx, ebx
mov ecx, esi
call fcn.0042bd90
mov dword [ebp - 0xc], 0
cmp word [esi + 0x656a], 0
je 0x4ac01a
mov edx, dword [ebp - 0x5c]
mov ecx, esi
call fcn.0042e6e0
test eax, eax
jne 0x4ab780
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret