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

Disassembly:
push 0xffffffffffffffff
push 0x503b52
mov eax, dword fs:[0]
push eax
sub esp, 0xd0
mov eax, dword [0x54eb90]
xor eax, esp
mov dword [esp + 0xcc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54eb90]
xor eax, esp
push eax
lea eax, [esp + 0xe4]
mov dword fs:[0], eax
cmp byte [esp + 0xfc], 0
mov eax, dword [esp + 0xf8]
mov ebp, ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
je 0x42044d
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
mov esi, edx
sub esi, eax
cmp esi, 1
jb 0x42060c
mov esi, dword [ecx + 4]
cmp byte [eax + esi], 0xa
jne 0x42060c
inc eax
mov dword [ecx + 0x10], eax
cmp eax, edx
jne 0x42044d
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], eax
lea edi, [esp + 0x54]
call fcn.004210e0
test al, al
je 0x42060c
mov eax, dword [esp + 0x54]
mov ebx, eax
shr ebx, 1
mov dl, bl
not dl
and dl, 1
mov byte [esp + 0x16], dl
mov cl, al
mov edx, eax
and edx, 7
mov edi, eax
not cl
and cl, 1
shr edi, 2
cmp dl, 7
sete byte [esp + 0x17]
mov edx, eax
shr edx, 3
and dl, 1
shr eax, 4
mov byte [esp + 0x15], dl
mov dword [esp + 0x78], eax
test cl, cl
je 0x4204e1
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x4204c1
call fcn.004bdd0a
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 0x1c]
lea ecx, [ebx + ebx*2]
lea edi, [edx + ecx*8]
call fcn.00416540
mov ecx, edi
mov ebx, esi
call fcn.00417610
jmp 0x420c2b
cmp byte [esp + 0x17], 0
mov dword [esp + 0x28], 1
je 0x420613
xor eax, eax
mov edi, vtable.Variant.0
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x18]
push eax
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x24]
push eax
mov ebx, ebp
call fcn.0041f900
test al, al
je 0x4205f4
cmp dword [esp + 0x28], 0x11
jne 0x4205f4
mov edi, dword [esp + 0x30]
push str.flex.messaging.io.ArrayCollection
call fcn.00419050
add esp, 4
test al, al
je 0x4205ef
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0xbc]
call fcn.00416b90
sub esp, 0x1c
lea edx, [esp + 0xd4]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
mov byte [esp + 0x10c], 1
call fcn.00402990
mov esi, dword [esp + 0x38]
call fcn.00417140
lea ecx, [esp + 0xb8]
mov byte [esp + 0xec], 0
call fcn.00402be0
mov eax, dword [esp + 0x18]
push esi
push eax
mov ecx, ebp
call fcn.0041f240
test al, al
jne 0x4205ce
mov dword [esp + 0xec], 0xffffffff
lea esi, [esp + 0x20]
mov dword [esp + 0x20], vtable.Variant.0
call fcn.00416540
xor al, al
jmp 0x420c2d
push esi
lea eax, [ebp + 4]
call fcn.00421410
mov dword [esp + 0xec], 0xffffffff
mov dword [esp + 0x20], vtable.Variant.0
jmp 0x420c22
mov edi, vtable.Variant.0
mov dword [esp + 0xec], 0xffffffff
lea esi, [esp + 0x20]
mov dword [esp + 0x20], edi
call fcn.00416540
xor al, al
jmp 0x420c2d
mov ecx, dword [ebp + 0x14]
sub ecx, dword [ebp + 0x10]
lea esi, [ebp + 4]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
xor eax, eax
add ebx, edx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x20], vtable.Variant.0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x20]
push ecx
mov eax, esi
mov dword [esp + 0xf0], 2
call fcn.00421410
xor eax, eax
mov dword [esp + 0x58], vtable.Variant.0
mov dword [esp + 0x60], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov byte [esp + 0xec], 3
cmp byte [esp + 0x16], al
je 0x42069d
lea esi, [ebp + 0x1c]
call fcn.004213e0
push eax
lea eax, [esp + 0x5c]
call fcn.00416640
jmp 0x420886
mov ecx, dword [ebp + 0x2c]
sub ecx, dword [ebp + 0x28]
lea edi, [ebp + 0x1c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x74], eax
xor eax, eax
mov esi, vtable.Variant.0
mov dword [esp + 0xb8], esi
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
lea edx, [esp + 0xb8]
push edx
lea eax, [esp + 0x24]
mov byte [esp + 0xf0], 4
call fcn.00416640
mov byte [esp + 0xec], 3
mov dword [esp + 0xb8], esi
lea esi, [esp + 0xb8]
call fcn.00416540
lea eax, [esp + 0x20]
push eax
mov eax, edi
call fcn.00421410
lea ecx, [esp + 0x15]
push ecx
push str.____isDynamic____
lea edx, [esp + 0x60]
push edx
call fcn.00416f80
call fcn.00416660
xor eax, eax
mov dword [esp + 0x38], vtable.Variant.0
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x18]
push eax
lea eax, [esp + 0x3c]
push eax
mov ebx, ebp
mov byte [esp + 0xf4], 5
call fcn.0041f900
test al, al
je 0x420b6b
lea ecx, [esp + 0x38]
push ecx
push str.____class_name____
lea edx, [esp + 0x60]
push edx
call fcn.00416f80
call fcn.00416640
cmp dword [esp + 0x78], 0
mov dword [esp + 0x70], 0
jbe 0x42084b
xor eax, eax
mov edi, vtable.Variant.0
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], eax
mov esi, dword [esp + 0x18]
push eax
lea eax, [esp + 0xbc]
push eax
mov ebx, ebp
mov byte [esp + 0xf4], 6
call fcn.0041f900
test al, al
je 0x4209bf
lea ecx, [esp + 0x70]
push ecx
push str.____traits____
lea edx, [esp + 0x60]
push edx
call fcn.00416f80
mov esi, eax
call fcn.00416ff0
mov esi, eax
call fcn.00416540
lea ecx, [esp + 0xb8]
mov ebx, esi
call fcn.00417610
mov byte [esp + 0xec], 5
lea esi, [esp + 0xb8]
mov dword [esp + 0xb8], edi
call fcn.00416540
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
cmp eax, dword [esp + 0x78]
jb 0x4207a2
mov edi, dword [esp + 0x74]
lea esi, [ebp + 0x1c]
call fcn.004213e0
mov esi, eax
call fcn.00416540
lea ecx, [esp + 0x58]
mov ebx, esi
call fcn.00417610
mov byte [esp + 0xec], 3
lea esi, [esp + 0x38]
mov dword [esp + 0x38], vtable.Variant.0
call fcn.00416540
mov ebx, dword [esp + 0x54]
push str.____class_name____
lea eax, [esp + 0x5c]
push eax
call fcn.00416f80
call fcn.004170e0
test al, al
je 0x4208ca
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x90], esp
push str.____class_name____
lea ecx, [esp + 0x78]
push ecx
call fcn.00416f80
push eax
mov ecx, esi
call fcn.00416b90
mov esi, dword [esp + 0x38]
call fcn.00417140
xor edi, edi
lea esp, [esp]
push str.____traits____
lea edx, [esp + 0x5c]
push edx
call fcn.00416f80
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x4209ee
cmp ecx, 2
je 0x4209ee
cmp ecx, 0x12
je 0x420902
cmp ecx, 0x13
jne 0x4209ee
mov eax, dword [eax + 0x10]
cmp edi, dword [eax + 0x38]
jae 0x4209ee
push str.____traits____
lea ecx, [esp + 0x5c]
push ecx
call fcn.00416f80
push edi
push str.0x_08I32x
lea edx, [esp + 0xdc]
mov esi, eax
call fcn.00419030
add esp, 8
lea edx, [esp + 0xd4]
push edx
push esi
call fcn.00416f80
push eax
lea ecx, [esp + 0x3c]
call fcn.00416b90
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
mov byte [esp + 0xf0], 7
call fcn.00402990
lea ecx, [esp + 0x38]
mov byte [esp + 0xec], 9
call fcn.00402be0
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0xb8]
push ecx
push str.____traits____
push edx
call fcn.00416f80
mov ecx, eax
call fcn.00416df0
push eax
mov eax, dword [esp + 0x1c]
push eax
mov ecx, ebp
call fcn.0041f240
lea ecx, [esp + 0xb8]
test al, al
je 0x4209df
mov byte [esp + 0xec], 3
call fcn.00402be0
inc edi
jmp 0x4208d0
mov byte [esp + 0xec], 5
lea esi, [esp + 0xb8]
mov dword [esp + 0xb8], edi
call fcn.00416540
jmp 0x420b70
call fcn.00402be0
mov edi, vtable.Variant.0
jmp 0x420b85
cmp byte [esp + 0x16], 0
je 0x420a0b
push str.____isDynamic____
lea ecx, [esp + 0x5c]
push ecx
call fcn.00416f80
call fcn.004167e0
jmp 0x420a0f
mov al, byte [esp + 0x15]
test al, al
je 0x420bbc
xor eax, eax
mov dword [esp + 0x38], vtable.Variant.0
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x18]
push eax
lea edx, [esp + 0x3c]
push edx
mov ebx, ebp
mov byte [esp + 0xf4], 0xa
call fcn.0041f900
test al, al
je 0x420b6b
cmp dword [esp + 0x40], 0x11
jne 0x420aad
push 0x51dc61
call fcn.00402380
mov ecx, dword [esp + 0x4c]
mov esi, dword [ecx + 0x14]
mov edi, eax
add esp, 4
mov eax, esi
mov ebx, esi
cmp esi, edi
jb 0x420a79
mov ebx, edi
call fcn.00402af0
mov edx, eax
mov eax, ebx
mov ecx, 0x51dc61
call fcn.00410f70
test eax, eax
jne 0x420aa2
cmp esi, edi
jae 0x420a99
or eax, 0xffffffff
jmp 0x420aa0
xor eax, eax
cmp esi, edi
setne al
test eax, eax
sete al
test al, al
jne 0x420b9f
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x84]
call fcn.00416b90
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0xa0]
mov byte [esp + 0xf0], 0xb
call fcn.00402990
mov ecx, dword [esp + 0x1c]
push eax
mov byte [esp + 0xf0], 0xc
call fcn.00416df0
mov edi, dword [esp + 0x18]
push eax
push edi
mov ecx, ebp
call fcn.0041f240
test al, al
lea ecx, [esp + 0x9c]
sete bl
call fcn.00402be0
lea ecx, [esp + 0x80]
call fcn.00402be0
mov byte [esp + 0xec], 3
lea esi, [esp + 0x38]
test bl, bl
jne 0x420c57
mov ebx, vtable.Variant.0
mov dword [esp + 0x38], ebx
call fcn.00416540
xor eax, eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], 1
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov edx, esi
push eax
push edx
mov esi, edi
mov ebx, ebp
mov byte [esp + 0xf4], 0xa
call fcn.0041f900
test al, al
jne 0x420a52
mov edi, vtable.Variant.0
mov byte [esp + 0xec], 3
lea esi, [esp + 0x38]
mov dword [esp + 0x38], edi
call fcn.00416540
mov byte [esp + 0xec], 2
lea esi, [esp + 0x58]
mov dword [esp + 0x58], edi
call fcn.00416540
jmp 0x4205f4
mov byte [esp + 0xec], 3
lea esi, [esp + 0x38]
mov dword [esp + 0x38], vtable.Variant.0
call fcn.00416540
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x7c]
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x420be0
call fcn.004bdd0a
mov edx, dword [esi + 0xc]
lea ecx, [ebx + ebx*2]
lea esi, [edx + ecx*8]
call fcn.00416540
mov ecx, dword [esp + 0x1c]
mov ebx, esi
call fcn.00417610
mov byte [esp + 0xec], 2
mov edi, vtable.Variant.0
lea esi, [esp + 0x58]
mov dword [esp + 0x58], edi
call fcn.00416540
mov dword [esp + 0xec], 0xffffffff
mov dword [esp + 0x20], edi
lea esi, [esp + 0x20]
call fcn.00416540
mov al, 1
mov ecx, dword [esp + 0xe4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xcc]
xor ecx, esp
call fcn.004bd72f
add esp, 0xdc
ret 0xc
mov edi, vtable.Variant.0
jmp 0x420b7c