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

Disassembly:
push 0xffffffffffffffff
push 0x47d302
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x49d7b0]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x49d7b0]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x10c]
mov ebp, dword [esp + 0x108]
mov esi, ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x10]
mov edx, ecx
sub edx, eax
cmp edx, 1
mov dword [esp + 0x1c], esi
jb 0x411cba
mov edx, dword [esi + 4]
cmp byte [eax + edx], 0xa
jne 0x411cba
add eax, 1
cmp eax, ecx
mov dword [esi + 0x10], eax
jne 0x411b15
xor eax, eax
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], eax
lea edi, [esp + 0x60]
mov ecx, esi
call fcn.00412760
test al, al
je 0x411cba
mov eax, dword [esp + 0x60]
mov ebx, eax
shr ebx, 1
mov cl, bl
not cl
and cl, 1
mov byte [esp + 0x16], cl
mov ecx, eax
shr ecx, 2
mov dword [esp + 0x20], ecx
mov dl, al
mov ecx, eax
and ecx, 7
not dl
and dl, 1
cmp cl, 7
sete byte [esp + 0x17]
mov ecx, eax
shr ecx, 3
and cl, 1
shr eax, 4
test dl, dl
mov byte [esp + 0x15], cl
mov dword [esp + 0x84], eax
je 0x411b94
lea esi, [ebp + 4]
mov edi, ebx
call fcn.004129b0
mov esi, dword [esp + 0x18]
mov edi, eax
call fcn.0040e0e0
push esi
mov ecx, edi
call fcn.0040f170
jmp 0x4122e7
cmp byte [esp + 0x17], 0
je 0x411cc1
xor eax, eax
mov edi, vtable.Variant.0
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
push eax
push esi
lea ebx, [esp + 0x2c]
mov ecx, ebp
mov dword [esp + 0x108], eax
call fcn.00411050
test al, al
je 0x411ca2
cmp dword [esp + 0x2c], 0x11
jne 0x411ca2
mov edi, dword [esp + 0x34]
push str.flex.messaging.io.ArrayCollection
call fcn.004106e0
add esp, 4
test al, al
je 0x411c9d
mov edx, ebx
push edx
lea ecx, [esp + 0xc8]
call fcn.0040e740
sub esp, 0x1c
lea eax, [esp + 0xe0]
mov ecx, esp
mov dword [esp + 0xa4], esp
push eax
mov byte [esp + 0x120], 1
call fcn.00401d70
mov ebx, dword [esp + 0x34]
mov esi, ebx
call fcn.0040ecc0
lea ecx, [esp + 0xc4]
mov byte [esp + 0x100], 0
call fcn.00401db0
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
mov ecx, ebp
call fcn.00410970
test al, al
jne 0x411c7d
mov dword [esp + 0x100], 0xffffffff
lea esi, [esp + 0x24]
mov dword [esp + 0x24], vtable.Variant.0
call fcn.0040e0e0
xor al, al
jmp 0x4122e9
lea esi, [ebp + 4]
call fcn.004129e0
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x24], vtable.Variant.0
jmp 0x4122de
mov edi, vtable.Variant.0
mov dword [esp + 0x100], 0xffffffff
lea esi, [esp + 0x24]
mov dword [esp + 0x24], edi
call fcn.0040e0e0
xor al, al
jmp 0x4122e9
lea esi, [ebp + 4]
mov ecx, esi
mov dword [esp + 0x88], esi
call fcn.00412990
mov dword [esp + 0x60], eax
xor eax, eax
mov edi, vtable.Variant.0
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
lea ebx, [esp + 0x24]
mov dword [esp + 0x100], 2
call fcn.004129e0
xor eax, eax
mov esi, 1
mov dword [esp + 0x64], edi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
cmp byte [esp + 0x16], al
mov byte [esp + 0x100], 3
je 0x411d45
mov edi, dword [esp + 0x20]
lea esi, [ebp + 0x14]
call fcn.004129b0
push eax
lea eax, [esp + 0x68]
call fcn.0040e1e0
jmp 0x411f12
lea ecx, [ebp + 0x14]
call fcn.00412990
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0xc4], edi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x28]
mov byte [esp + 0x104], 4
call fcn.0040e1e0
mov byte [esp + 0x100], 3
lea esi, [esp + 0xc4]
mov dword [esp + 0xc4], edi
call fcn.0040e0e0
lea ebx, [esp + 0x24]
lea esi, [ebp + 0x14]
call fcn.004129e0
lea eax, [esp + 0x15]
push eax
push ecx
push str.____isDynamic____
lea ecx, [esp + 0x70]
push ecx
call fcn.0040eb00
add esp, 4
call fcn.0040e200
xor eax, eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x1c]
push eax
push edx
lea ebx, [esp + 0x44]
mov ecx, ebp
mov byte [esp + 0x108], 5
call fcn.00411050
test al, al
je 0x411f78
mov eax, ebx
push eax
push ecx
push str.____class_name____
lea ecx, [esp + 0x70]
push ecx
call fcn.0040eb00
add esp, 4
call fcn.0040e1e0
cmp dword [esp + 0x84], 0
mov dword [esp + 0x20], 0
jbe 0x411ed9
xor eax, eax
mov dword [esp + 0xc4], edi
mov dword [esp + 0xcc], 1
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
mov edx, dword [esp + 0x1c]
push eax
push edx
lea ebx, [esp + 0xcc]
mov ecx, ebp
mov byte [esp + 0x108], 6
call fcn.00411050
test al, al
je 0x411f5d
lea eax, [esp + 0x20]
push eax
push ecx
push str.____traits____
lea ecx, [esp + 0x70]
push ecx
call fcn.0040eb00
add esp, 4
mov esi, eax
call fcn.0040eb70
mov esi, eax
call fcn.0040e0e0
push esi
mov ecx, ebx
call fcn.0040f170
mov byte [esp + 0x100], 5
mov esi, ebx
mov dword [esp + 0xc4], edi
call fcn.0040e0e0
mov eax, dword [esp + 0x20]
add eax, 1
cmp eax, dword [esp + 0x84]
mov dword [esp + 0x20], eax
jb 0x411e37
mov edi, dword [esp + 0x80]
lea esi, [ebp + 0x14]
call fcn.004129b0
mov esi, eax
call fcn.0040e0e0
push esi
lea ecx, [esp + 0x68]
call fcn.0040f170
mov byte [esp + 0x100], 3
lea esi, [esp + 0x3c]
mov dword [esp + 0x3c], vtable.Variant.0
call fcn.0040e0e0
push str.____class_name____
lea edx, [esp + 0x68]
push edx
call fcn.0040eb00
call fcn.0040ec60
test al, al
je 0x411fa7
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x9c], esp
push str.____class_name____
lea eax, [esp + 0x84]
push eax
call fcn.0040eb00
push eax
mov ecx, esi
call fcn.0040e740
mov edi, dword [esp + 0x34]
mov esi, edi
call fcn.0040ecc0
jmp 0x411fab
mov byte [esp + 0x100], 5
lea esi, [esp + 0xc4]
mov dword [esp + 0xc4], edi
call fcn.0040e0e0
mov byte [esp + 0x100], 3
lea esi, [esp + 0x3c]
mov dword [esp + 0x3c], edi
call fcn.0040e0e0
mov byte [esp + 0x100], 2
lea esi, [esp + 0x64]
mov dword [esp + 0x64], edi
call fcn.0040e0e0
jmp 0x411ca2
mov edi, dword [esp + 0x18]
xor ebx, ebx
lea ecx, [ecx]
push str.____traits____
lea ecx, [esp + 0x68]
push ecx
call fcn.0040eb00
mov ecx, dword [eax + 8]
cmp ecx, 1
je 0x4120c5
cmp ecx, 2
je 0x4120c5
cmp ecx, 0x12
je 0x411fe2
cmp ecx, 0x13
jne 0x4120c5
mov edx, dword [eax + 0x10]
cmp ebx, dword [edx + 0x24]
jae 0x4120c5
push str.____traits____
lea eax, [esp + 0x68]
push eax
call fcn.0040eb00
push ebx
push str.0x_08I32x
lea edx, [esp + 0xf0]
mov esi, eax
call fcn.004106c0
add esp, 8
lea ecx, [esp + 0xe8]
push ecx
push esi
call fcn.0040eb00
push eax
lea ecx, [esp + 0x40]
call fcn.0040e740
lea edx, [esp + 0x3c]
push edx
lea ecx, [esp + 0xc8]
mov byte [esp + 0x104], 7
call fcn.00401d70
lea ecx, [esp + 0x3c]
mov byte [esp + 0x100], 9
call fcn.00401db0
lea eax, [esp + 0xc4]
push eax
push ecx
push str.____traits____
push edi
call fcn.0040eb00
add esp, 4
mov ecx, eax
call fcn.0040e9a0
mov ecx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, ebp
call fcn.00410970
test al, al
lea ecx, [esp + 0xc4]
je 0x4120a1
mov byte [esp + 0x100], 3
call fcn.00401db0
add ebx, 1
jmp 0x411fb0
call fcn.00401db0
mov byte [esp + 0x100], 2
mov edi, vtable.Variant.0
lea esi, [esp + 0x64]
mov dword [esp + 0x64], edi
call fcn.0040e0e0
jmp 0x411ca2
cmp byte [esp + 0x16], 0
je 0x4120e2
push str.____isDynamic____
lea edx, [esp + 0x68]
push edx
call fcn.0040eb00
call fcn.0040e380
jmp 0x4120e6
mov al, byte [esp + 0x15]
test al, al
je 0x41226e
xor eax, eax
mov dword [esp + 0x3c], vtable.Variant.0
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov edi, dword [esp + 0x1c]
push eax
push edi
lea ebx, [esp + 0x44]
mov ecx, ebp
mov byte [esp + 0x108], 0xa
call fcn.00411050
test al, al
je 0x412247
lea esp, [esp]
cmp dword [esp + 0x44], 0x11
jne 0x41218f
push 0x48d439
call fcn.004019f0
mov ecx, dword [esp + 0x50]
mov esi, dword [ecx + 0x14]
mov ebx, eax
add esp, 4
cmp esi, ebx
mov eax, esi
mov edi, esi
jb 0x412157
mov edi, ebx
call fcn.004024d0
mov edx, eax
mov eax, edi
mov ecx, 0x48d439
call fcn.00408f70
test eax, eax
jne 0x412180
cmp esi, ebx
jae 0x412177
or eax, 0xffffffff
jmp 0x41217e
xor eax, eax
cmp esi, ebx
setne al
test eax, eax
sete al
test al, al
jne 0x412251
mov edi, dword [esp + 0x1c]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x90]
call fcn.0040e740
lea ecx, [esp + 0x8c]
push ecx
lea ecx, [esp + 0xac]
mov byte [esp + 0x104], 0xb
call fcn.00401d70
mov ecx, dword [esp + 0x18]
push eax
mov byte [esp + 0x104], 0xc
call fcn.0040e9a0
push eax
push edi
mov ecx, ebp
call fcn.00410970
test al, al
lea ecx, [esp + 0xa8]
sete bl
call fcn.00401db0
lea ecx, [esp + 0x8c]
call fcn.00401db0
test bl, bl
mov byte [esp + 0x100], 3
lea esi, [esp + 0x3c]
jne 0x412313
mov ebx, vtable.Variant.0
mov dword [esp + 0x3c], ebx
call fcn.0040e0e0
xor eax, eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
push eax
push edi
mov ebx, esi
mov ecx, ebp
mov byte [esp + 0x108], 0xa
call fcn.00411050
test al, al
jne 0x412130
mov edi, vtable.Variant.0
jmp 0x411f78
mov byte [esp + 0x100], 3
lea esi, [esp + 0x3c]
mov dword [esp + 0x3c], vtable.Variant.0
call fcn.0040e0e0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x88]
mov eax, dword [ebx + 4]
test eax, eax
mov esi, dword [esp + 0x60]
je 0x41229a
mov ecx, dword [ebx + 8]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x41229f
call fcn.0043c1ce
mov eax, dword [ebx + 4]
lea edx, [esi + esi*2]
lea esi, [eax + edx*8]
call fcn.0040e0e0
push esi
mov ecx, edi
call fcn.0040f170
mov byte [esp + 0x100], 2
mov edi, vtable.Variant.0
lea esi, [esp + 0x64]
mov dword [esp + 0x64], edi
call fcn.0040e0e0
mov dword [esp + 0x100], 0xffffffff
mov dword [esp + 0x24], edi
lea esi, [esp + 0x24]
call fcn.0040e0e0
mov al, 1
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0043bced
add esp, 0xf0
ret 8
mov edi, vtable.Variant.0
jmp 0x411f84