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

Disassembly:
push 0xffffffffffffffff
push 0x59072a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x13c
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x15c]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x154], ebx
jne 0x46d3b8
lea ecx, [esp + 0x15c]
call fcn.0048dcc0
jmp 0x46e91d
mov ecx, dword [eax]
lea edx, [esp + 0x48]
push edx
push eax
mov esi, eax
call dword [ecx + 0x2c]
cmp eax, ebx
jge 0x46d3d5
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
mov eax, dword [esp + 0x48]
cmp eax, 0x4101
jl 0x46e901
cmp eax, 0x4103
jle 0x46d40c
cmp eax, 0x4104
jne 0x46e901
mov ecx, dword [esp + 0x160]
push str.__PCDATA_
call fcn.005574fa
jmp 0x46e901
cmp dword [esp + 0x15c], ebx
jne 0x46d41f
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x15c]
lea eax, [esp + 0x28]
push eax
call fcn.0047b570
mov dword [esp + 0x18], ebx
push ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 2
call fcn.0048dc80
test al, al
jne 0x46e8d5
mov ebp, dword [esp + 0x160]
push 0x5f1e18
mov ecx, ebp
call fcn.005574fa
mov eax, dword [esp + 0x28]
cmp eax, ebx
jne 0x46d477
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
lea edx, [esp + 0xf8]
push edx
push eax
mov esi, eax
call dword [ecx + 0x28]
cmp eax, ebx
jge 0x46d497
push 0x5f3ca0
push esi
push eax
call fcn.00548e8a
push 0x602204
lea ecx, [esp + 0x4c]
call fcn.0055718c
push 0x602204
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 3
call fcn.0055718c
push 0x602204
lea ecx, [esp + 0x24]
mov byte [esp + 0x158], 4
call fcn.0055718c
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebx
xor edi, edi
push ebx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x158], 7
mov dword [esp + 0x58], edi
call fcn.0048dc80
test al, al
jne 0x46e86a
cmp edi, dword [esp + 0xf8]
jge 0x46e86a
cmp dword [esp + 0x28], ebx
jne 0x46d516
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x104]
push edi
push eax
call fcn.0048ebd0
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00479d90
lea ecx, [esp + 0x104]
call fcn.0048dcc0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x46e86a
mov edx, dword [eax]
lea ecx, [esp + 0x8c]
push ecx
push eax
mov esi, eax
call dword [edx + 0x2c]
cmp eax, ebx
jge 0x46d56c
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
mov eax, dword [esp + 0x8c]
cmp eax, 0x4100
jg 0x46e57a
je 0x46e590
sub eax, 0x4001
je 0x46e569
sub eax, 2
jne 0x46e84f
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
push edx
call fcn.0048ddc0
cmp eax, ebx
jge 0x46d5b7
cmp eax, 0x80004002
je 0x46d5b7
push eax
call fcn.00548e7c
cmp dword [esp + 0x14], ebx
jne 0x46d5c7
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xd4]
push eax
call fcn.0048eb30
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x34]
call fcn.00479d90
lea ecx, [esp + 0xd4]
call fcn.0048dcc0
cmp dword [esp + 0x18], ebx
jne 0x46d600
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x94]
push edx
call fcn.0047b430
mov ecx, dword [eax]
mov byte [esp + 0x154], 8
cmp ecx, ebx
je 0x46d626
call fcn.00464100
jmp 0x46d628
xor eax, eax
lea ecx, [esp + 0x108]
push ecx
mov ecx, dword [esp + 0x16c]
push eax
call fcn.00437ef0
cmp eax, ebx
je 0x46d734
add eax, 0xc
lea ecx, [esp + 0x48]
push eax
call fcn.00557257
xor bl, bl
lea ecx, [esp + 0x94]
mov byte [esp + 0x154], 7
call fcn.00442e30
test bl, bl
je 0x46e239
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x46d686
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x30]
mov edx, dword [eax]
lea ecx, [esp + 0x80]
push ecx
push eax
mov esi, eax
call dword [edx + 0x2c]
test eax, eax
jge 0x46d6a6
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
cmp dword [esp + 0x80], 0x2400
jne 0x46e17f
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], 0
test eax, eax
je 0x46d6e6
lea edx, [esp + 0x30]
lea ecx, [esp + 0x38]
push edx
call fcn.0048de40
test eax, eax
jge 0x46d6e6
cmp eax, 0x80004002
je 0x46d6e6
push eax
call fcn.00548e7c
push str.__ELEMENT
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 9
call fcn.005572a7
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x46d70e
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x9c]
push eax
call fcn.0047b430
mov ecx, dword [eax]
mov byte [esp + 0x154], 0xa
test ecx, ecx
je 0x46d752
call fcn.00464100
jmp 0x46d754
push ebx
lea ecx, [esp + 0x34]
call fcn.0048dc80
test al, al
sete al
test al, al
je 0x46d652
mov bl, 1
jmp 0x46d654
xor eax, eax
push eax
lea ecx, [esp + 0x14]
call fcn.005574fa
lea ecx, [esp + 0x9c]
mov byte [esp + 0x154], 9
call fcn.00442e30
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x46d784
push 0x80004003
call fcn.00548e7c
lea ecx, [esp + 0xdc]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0047b430
mov ecx, dword [eax]
mov byte [esp + 0x154], 0xb
test ecx, ecx
je 0x46d7ac
call fcn.00464100
mov edi, eax
jmp 0x46d7ae
xor edi, edi
mov ebx, dword [esp + 0x168]
lea edx, [esp + 0x58]
push edx
push edi
mov ecx, ebx
call fcn.00437ef0
mov esi, eax
test esi, esi
jne 0x46d80b
mov eax, dword [ebx + 4]
test eax, eax
jne 0x46d7dc
mov eax, dword [ebx + 8]
push 1
push eax
mov ecx, ebx
call fcn.004fc100
mov ecx, ebx
call fcn.0047a750
mov ecx, dword [esp + 0x58]
mov esi, eax
push edi
mov dword [esi + 4], ecx
lea ecx, [esi + 8]
call fcn.005572a7
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x58]
mov ecx, dword [edx + eax*4]
mov dword [esi], ecx
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x58]
mov dword [edx + eax*4], esi
push 0x602204
lea ecx, [esi + 0xc]
call fcn.005572a7
lea ecx, [esp + 0xdc]
mov byte [esp + 0x154], 9
call fcn.00442e30
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x46d83e
push 0x80004003
call fcn.00548e7c
lea ecx, [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.0048ed60
push 0
lea ecx, [esp + 0x60]
mov byte [esp + 0x158], 0xc
call fcn.0048dc80
test al, al
jne 0x46d88e
mov edx, dword [esp + 0x164]
push ebx
lea eax, [esp + 0x14]
push edx
push eax
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
mov dword [esp + 0x74], esp
push edx
call fcn.00479d70
mov ecx, dword [esp + 0x88]
call fcn.0046d370
push 0x5f3dbc
lea ecx, [esp + 0x14]
call fcn.005574fa
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x46d8ae
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x34]
push eax
call fcn.0048ed10
mov eax, dword [esp + 0x34]
mov byte [esp + 0x154], 0xd
test eax, eax
jne 0x46d8da
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
lea edx, [esp + 0xa4]
push edx
push eax
mov esi, eax
call dword [ecx + 0x28]
test eax, eax
jge 0x46d8fa
push 0x5f3ca0
push esi
push eax
call fcn.00548e8a
mov dword [esp + 0x1c], 0
xor ebp, ebp
xor edi, edi
push ebp
lea ecx, [esp + 0x38]
mov byte [esp + 0x158], 0xe
mov dword [esp + 0x68], edi
call fcn.0048dc80
test al, al
jne 0x46e110
cmp ebp, dword [esp + 0xa4]
jge 0x46e0fe
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x46d943
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0xf0]
push ebp
push eax
call fcn.0048ebd0
mov ecx, dword [eax]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00479d90
lea ecx, [esp + 0xf0]
call fcn.0048dcc0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x46e0fe
mov edx, dword [eax]
lea ecx, [esp + 0xac]
push ecx
push eax
mov esi, eax
call dword [edx + 0x2c]
test eax, eax
jge 0x46d999
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
cmp dword [esp + 0xac], 0x1001
jne 0x46e0ea
lea edx, [esp + 0x18]
lea ecx, [esp + 0x1c]
push edx
call fcn.0047a830
test eax, eax
jge 0x46d9c9
cmp eax, 0x80004002
je 0x46d9c9
push eax
call fcn.00548e7c
test edi, edi
jne 0x46dade
mov edi, 1
push 0xc
mov dword [esp + 0x68], edi
call fcn.00557770
add esp, 4
mov dword [esp + 0x100], eax
test eax, eax
mov byte [esp + 0x154], 0xf
je 0x46da05
push str._n
mov ecx, eax
call fcn.00442e80
jmp 0x46da07
xor eax, eax
test eax, eax
mov byte [esp + 0x154], 0xe
mov dword [esp + 0x68], eax
jne 0x46da21
push 0x8007000e
call fcn.00548e7c
mov eax, dword [esp + 0x14]
mov byte [esp + 0x154], 0x10
test eax, eax
jne 0x46da3b
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0xf4]
push eax
call fcn.0047b430
push eax
lea ecx, [esp + 0xb8]
push str.__ATTLIST
push ecx
mov byte [esp + 0x160], 0x11
call fcn.0047a3f0
add esp, 0xc
lea edx, [esp + 0x68]
lea ecx, [esp + 0xe4]
push edx
push ecx
mov ecx, eax
mov byte [esp + 0x15c], 0x12
call fcn.00467550
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x13
test ecx, ecx
je 0x46da9b
call fcn.00464100
jmp 0x46da9d
xor eax, eax
push eax
lea ecx, [esp + 0x14]
call fcn.005574fa
lea ecx, [esp + 0xe4]
call fcn.00442e30
lea ecx, [esp + 0xb4]
call fcn.00442e30
lea ecx, [esp + 0xf4]
call fcn.00442e30
lea ecx, [esp + 0x68]
mov byte [esp + 0x154], 0xe
call fcn.00442e30
jmp 0x46daec
push str._n
lea ecx, [esp + 0x14]
call fcn.005574fa
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46dafe
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0xec]
push edx
call fcn.0047b430
push eax
lea eax, [esp + 0xc0]
push 0x5ec768
push eax
mov byte [esp + 0x160], 0x14
call fcn.0047a3f0
add esp, 0xc
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x15
test ecx, ecx
je 0x46db42
call fcn.00464100
jmp 0x46db44
xor eax, eax
push eax
lea ecx, [esp + 0x14]
call fcn.005574fa
lea ecx, [esp + 0xbc]
call fcn.00442e30
lea ecx, [esp + 0xec]
mov byte [esp + 0x154], 0xe
call fcn.00442e30
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46db80
push 0x80004003
call fcn.00548e7c
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0047b680
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x154], 0x16
test eax, eax
jne 0x46dba8
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x24]
push edx
call fcn.0048ecc0
push 0
lea ecx, [esp + 0x28]
mov byte [esp + 0x158], 0x17
call fcn.0048dc80
test al, al
jne 0x46dcf6
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x46dbe7
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0xc4]
push edx
push eax
mov esi, eax
call dword [ecx + 0x20]
test eax, eax
jge 0x46dc07
push 0x5f3ce0
push esi
push eax
call fcn.00548e8a
mov eax, dword [esp + 0xc4]
test eax, eax
jle 0x46dcf6
push 0x5f1e18
lea ecx, [esp + 0x14]
call fcn.005574fa
mov ebx, 1
xor edi, edi
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x46dc41
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
lea edx, [esp + 0xfc]
push edx
push eax
mov esi, eax
call dword [ecx + 0x20]
test eax, eax
jge 0x46dc61
push 0x5f3ce0
push esi
push eax
call fcn.00548e8a
cmp edi, dword [esp + 0xfc]
jge 0x46dcdf
test ebx, ebx
je 0x46dc72
xor ebx, ebx
jmp 0x46dc80
push 0x5f3da0
lea ecx, [esp + 0x14]
call fcn.005574fa
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x46dc92
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0xcc]
push edi
push eax
call fcn.0047b4d0
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x18
test ecx, ecx
je 0x46dcb9
call fcn.00464100
jmp 0x46dcbb
xor eax, eax
push eax
lea ecx, [esp + 0x14]
call fcn.005574fa
lea ecx, [esp + 0xcc]
mov byte [esp + 0x154], 0x17
call fcn.00442e30
inc edi
jmp 0x46dc2b
push 0x5f331c
lea ecx, [esp + 0x14]
call fcn.005574fa
mov edi, dword [esp + 0x64]
jmp 0x46dd99
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x46dd0c
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax]
lea edx, [esp + 0x84]
push edx
push eax
mov esi, eax
call dword [ecx + 0x2c]
test eax, eax
jge 0x46dd2c
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
mov eax, dword [esp + 0x84]
add eax, 0xffffdefc
cmp eax, 0x21
ja case.0x46dd45.8461
xor ecx, ecx
mov cl, byte [eax + 0x46e964]
jmp dword [ecx*4 + 0x46e938]
push str.__true__false_
jmp 0x46dd90
push 0x5f3d8c
jmp 0x46dd90
push str._IDREF
jmp 0x46dd90
push str._IDREFS
jmp 0x46dd90
push 0x5f3d74
jmp 0x46dd90
push str._ENTITIES
jmp 0x46dd90
push str._NMTOKEN
jmp 0x46dd90
push str._NMTOKENS
jmp 0x46dd90
push 0x5f3d44
jmp 0x46dd90
push 0x5f3d3c
lea ecx, [esp + 0x14]
call fcn.005574fa
push 0x602204
lea ecx, [esp + 0x24]
call fcn.005572a7
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46ddb9
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x88]
push edx
call fcn.0047b770
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x19
test ecx, ecx
je 0x46dddf
call fcn.00464100
jmp 0x46dde1
xor eax, eax
push eax
lea ecx, [esp + 0x24]
call fcn.005574fa
lea ecx, [esp + 0x88]
mov byte [esp + 0x154], 0x17
call fcn.00442e30
mov eax, dword [esp + 0x20]
mov esi, 0x602204
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46de30
test cl, cl
je 0x46de2c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46de30
add eax, 2
add esi, 2
test cl, cl
jne 0x46de08
xor eax, eax
jmp 0x46de35
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46dea5
lea eax, [esp + 0x20]
lea ecx, [esp + 0x98]
push eax
push 0x5f3d30
push ecx
call fcn.00557427
push 0x5f325c
lea edx, [esp + 0x94]
push eax
push edx
mov byte [esp + 0x160], 0x1a
call fcn.005573b3
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 0x1b
call fcn.00557536
lea ecx, [esp + 0x90]
mov byte [esp + 0x154], 0x1a
call fcn.0055711e
mov byte [esp + 0x154], 0x17
lea ecx, [esp + 0x98]
jmp 0x46e0cb
push 0x602204
lea ecx, [esp + 0x24]
call fcn.005572a7
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46dec5
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xa0]
push eax
call fcn.0047b6d0
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x1c
test ecx, ecx
je 0x46deeb
call fcn.00464100
jmp 0x46deed
xor eax, eax
push eax
lea ecx, [esp + 0x24]
call fcn.005574fa
lea ecx, [esp + 0xa0]
mov byte [esp + 0x154], 0x17
call fcn.00442e30
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46df21
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0xa8]
push edx
push eax
mov esi, eax
call dword [ecx + 0x48]
test eax, eax
jge 0x46df41
push 0x5f3d20
push esi
push eax
call fcn.00548e8a
mov eax, dword [esp + 0xa8]
sub eax, 0
je 0x46e026
sub eax, 2
je 0x46e013
mov eax, dword [esp + 0x20]
mov esi, 0x602204
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46df8b
test cl, cl
je 0x46df87
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46df8b
add eax, 2
add esi, 2
test cl, cl
jne 0x46df63
xor eax, eax
jmp 0x46df90
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46dfa7
push str._IMPLIED
lea ecx, [esp + 0x14]
call fcn.005574fa
jmp 0x46e0d0
lea eax, [esp + 0x20]
lea ecx, [esp + 0xb8]
push eax
push 0x5f3d10
push ecx
call fcn.00557427
push 0x5f3d0c
lea edx, [esp + 0xb4]
push eax
push edx
mov byte [esp + 0x160], 0x1f
call fcn.005573b3
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 0x20
call fcn.00557536
lea ecx, [esp + 0xb0]
mov byte [esp + 0x154], 0x1f
call fcn.0055711e
mov byte [esp + 0x154], 0x17
lea ecx, [esp + 0xb8]
jmp 0x46e0cb
push str._REQUIRED
lea ecx, [esp + 0x14]
call fcn.005574fa
jmp 0x46e0d0
mov eax, dword [esp + 0x20]
mov esi, 0x602204
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46e057
test cl, cl
je 0x46e053
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46e057
add eax, 2
add esi, 2
test cl, cl
jne 0x46e02f
xor eax, eax
jmp 0x46e05c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46df94
lea eax, [esp + 0x20]
lea ecx, [esp + 0xc8]
push eax
push 0x5f3d10
push ecx
call fcn.00557427
push 0x5f3d0c
lea edx, [esp + 0xc4]
push eax
push edx
mov byte [esp + 0x160], 0x1d
call fcn.005573b3
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x158], 0x1e
call fcn.00557536
lea ecx, [esp + 0xc0]
mov byte [esp + 0x154], 0x1d
call fcn.0055711e
mov byte [esp + 0x154], 0x17
lea ecx, [esp + 0xc8]
call fcn.0055711e
lea ecx, [esp + 0x24]
call fcn.0048dcc0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x154], 0xe
call fcn.0048dcc0
push 0
lea ecx, [esp + 0x38]
inc ebp
call fcn.0048dc80
test al, al
je 0x46d924
test edi, edi
je 0x46e110
push 0x5f3dbc
lea ecx, [esp + 0x14]
call fcn.005574fa
mov esi, dword [esp + 0x160]
lea eax, [esp + 0x10]
push esi
lea ecx, [esp + 0xd4]
push eax
push ecx
call fcn.0055734d
push eax
mov ecx, esi
mov byte [esp + 0x158], 0x21
call fcn.00557257
lea ecx, [esp + 0xd0]
mov byte [esp + 0x154], 0xe
call fcn.0055711e
lea ecx, [esp + 0x1c]
call fcn.0048dcc0
lea ecx, [esp + 0x34]
call fcn.0048dcc0
lea ecx, [esp + 0x5c]
call fcn.0048dcc0
lea ecx, [esp + 0x38]
mov byte [esp + 0x154], 7
call fcn.0048dcc0
jmp 0x46e239
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x46e191
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xd8]
push edx
call fcn.0047b430
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x22
test ecx, ecx
je 0x46e1b9
call fcn.00464100
mov edi, eax
jmp 0x46e1bb
xor edi, edi
mov ebx, dword [esp + 0x164]
lea eax, [esp + 0x60]
push eax
push edi
mov ecx, ebx
call fcn.00437ef0
mov esi, eax
test esi, esi
jne 0x46e218
mov eax, dword [ebx + 4]
test eax, eax
jne 0x46e1e9
mov ecx, dword [ebx + 8]
push 1
push ecx
mov ecx, ebx
call fcn.004fc100
mov ecx, ebx
call fcn.0047a750
mov edx, dword [esp + 0x60]
mov esi, eax
push edi
lea ecx, [esi + 8]
mov dword [esi + 4], edx
call fcn.005572a7
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x60]
mov edx, dword [eax + ecx*4]
mov dword [esi], edx
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax + ecx*4], esi
push 0x602204
lea ecx, [esi + 0xc]
call fcn.005572a7
lea ecx, [esp + 0xd8]
mov byte [esp + 0x154], 7
call fcn.00442e30
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x46e2b4
mov eax, dword [esp + 0x15c]
test eax, eax
jne 0x46e25d
push 0x80004003
call fcn.00548e7c
mov eax, dword [esp + 0x15c]
mov edx, dword [eax]
lea ecx, [esp + 0xe0]
push ecx
push eax
mov esi, eax
call dword [edx + 0x2c]
test eax, eax
jge 0x46e27d
push 0x5f3c90
push esi
push eax
call fcn.00548e8a
cmp dword [esp + 0xe0], 0x4102
jne 0x46e29f
mov ebp, dword [esp + 0x160]
push 0x5f3da0
mov ecx, ebp
call fcn.005574fa
jmp 0x46e2bb
mov ebp, dword [esp + 0x160]
push 0x5f3cfc
mov ecx, ebp
call fcn.005574fa
jmp 0x46e2bb
mov ebp, dword [esp + 0x160]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x46e2cd
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0xe8]
push edx
call fcn.0047b430
mov ecx, dword [eax]
mov byte [esp + 0x154], 0x23
test ecx, ecx
je 0x46e2f3
call fcn.00464100
jmp 0x46e2f5
xor eax, eax
push eax
mov ecx, ebp
call fcn.005574fa
lea ecx, [esp + 0xe8]
mov byte [esp + 0x154], 7
call fcn.00442e30
push 0x602204
lea ecx, [esp + 0x50]
call fcn.0055718c
push 0x602204
lea ecx, [esp + 0x48]
mov byte [esp + 0x158], 0x24
call fcn.0055718c
mov eax, dword [esp + 0x14]
mov byte [esp + 0x154], 0x25
test eax, eax
jne 0x46e34f
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x12c]
push eax
call fcn.0048ea70
mov ecx, dword [eax + 8]
mov byte [esp + 0x154], 0x26
push ecx
lea ecx, [esp + 0x80]
call fcn.005571de
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x4c]
push edx
mov byte [esp + 0x158], 0x27
call fcn.00557536
lea ecx, [esp + 0x7c]
mov byte [esp + 0x154], 0x26
call fcn.0055711e
mov esi, dword [0x5e9060]
lea eax, [esp + 0x12c]
push eax
mov byte [esp + 0x158], 0x25
call esi
test eax, eax
jge 0x46e3c1
push eax
call fcn.00548e7c
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x46e3d3
push 0x80004003
call fcn.00548e7c
lea ecx, [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.0048ead0
mov edx, dword [eax + 8]
lea ecx, [esp + 0x70]
push edx
mov byte [esp + 0x158], 0x28
call fcn.005571de
lea eax, [esp + 0x70]
lea ecx, [esp + 0x44]
push eax
mov byte [esp + 0x158], 0x29
call fcn.00557536
lea ecx, [esp + 0x70]
mov byte [esp + 0x154], 0x28
call fcn.0055711e
lea ecx, [esp + 0x10c]
mov byte [esp + 0x154], 0x25
push ecx
call esi
test eax, eax
jge 0x46e43c
push eax
call fcn.00548e7c
mov edi, dword [esp + 0x4c]
mov esi, 0x5eca80
mov ecx, edi
mov al, byte [ecx]
mov bl, byte [esi]
mov dl, al
cmp al, bl
jne 0x46e46f
test dl, dl
je 0x46e46b
mov al, byte [ecx + 1]
mov bl, byte [esi + 1]
mov dl, al
cmp al, bl
jne 0x46e46f
add ecx, 2
add esi, 2
test dl, dl
jne 0x46e447
xor ecx, ecx
jmp 0x46e474
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
mov esi, 0x5f3cf8
jne 0x46e4c0
mov eax, dword [esp + 0x44]
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46e4a9
test cl, cl
je 0x46e4a5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46e4a9
add eax, 2
add esi, 2
test cl, cl
jne 0x46e481
xor eax, eax
jmp 0x46e4ae
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46e4b9
push 0x5ecff8
jmp 0x46e532
push 0x5ecedc
jmp 0x46e532
mov eax, edi
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46e4ea
test cl, cl
je 0x46e4e6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46e4ea
add eax, 2
add esi, 2
test cl, cl
jne 0x46e4c2
xor eax, eax
jmp 0x46e4ef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x46e539
mov eax, dword [esp + 0x44]
mov esi, 0x5f3cf8
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x46e524
test cl, cl
je 0x46e520
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x46e524
add eax, 2
add esi, 2
test cl, cl
jne 0x46e4fc
xor eax, eax
jmp 0x46e529
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x46e539
push 0x5ed010
mov ecx, ebp
call fcn.005574fa
lea ecx, [esp + 0x44]
mov byte [esp + 0x154], 0x24
call fcn.0055711e
lea ecx, [esp + 0x4c]
mov byte [esp + 0x154], 7
call fcn.0055711e
mov ebp, dword [esp + 0x160]
xor ebx, ebx
jmp 0x46e84f
push 0x5f3cf0
mov ecx, ebp
call fcn.005574fa
jmp 0x46e84f
cmp eax, 0x4102
jl 0x46e84f
cmp eax, 0x4103
jg 0x46e84f
cmp edi, ebx
jle 0x46e5a0
push 0x5ec580
mov ecx, ebp
call fcn.005574fa
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
cmp eax, ebx
je 0x46e5cb
lea eax, [esp + 0x18]
lea ecx, [esp + 0x2c]
push eax
call fcn.0048df30
cmp eax, ebx
jge 0x46e5cb
cmp eax, 0x80004002
je 0x46e5cb
push eax
call fcn.00548e7c
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
push ecx
push edx
push ebp
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x110], esp
push eax
mov byte [esp + 0x168], 0x2a
call fcn.00479d70
mov ecx, dword [esp + 0x88]
call fcn.0046d370
push 0x602204
lea ecx, [esp + 0x54]
call fcn.0055718c
push 0x602204
lea ecx, [esp + 0x44]
mov byte [esp + 0x158], 0x2b
call fcn.0055718c
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x154], 0x2c
cmp eax, ebx
jne 0x46e642
push 0x80004003
call fcn.00548e7c
lea ecx, [esp + 0x11c]
push ecx
mov ecx, dword [esp + 0x30]
call fcn.0048ea70
mov edx, dword [eax + 8]
lea ecx, [esp + 0x6c]
push edx
mov byte [esp + 0x158], 0x2d
call fcn.005571de
lea eax, [esp + 0x6c]
lea ecx, [esp + 0x50]
push eax
mov byte [esp + 0x158], 0x2e
call fcn.00557536
lea ecx, [esp + 0x6c]
mov byte [esp + 0x154], 0x2d
call fcn.0055711e
mov esi, dword [0x5e9060]
lea ecx, [esp + 0x11c]
push ecx
mov byte [esp + 0x158], 0x2c
call esi
cmp eax, ebx
jge 0x46e6b1
push eax
call fcn.00548e7c
cmp dword [esp + 0x2c], ebx
jne 0x46e6c1
push 0x80004003
call fcn.00548e7c
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x13c]
push edx
call fcn.0048ead0
mov eax, dword [eax + 8]
lea ecx, [esp + 0x74]
push eax
mov byte [esp + 0x158], 0x2f
call fcn.005571de
lea ecx, [esp + 0x74]
mov byte [esp + 0x154], 0x30
push ecx
lea ecx, [esp + 0x44]
call fcn.00557536
lea ecx, [esp + 0x74]
mov byte [esp + 0x154], 0x2f
call fcn.0055711e
lea edx, [esp + 0x13c]
mov byte [esp + 0x154], 0x2c
push edx
call esi
cmp eax, ebx
jge 0x46e72a
push eax
call fcn.00548e7c
mov edi, dword [esp + 0x50]
mov esi, 0x5eca80
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x46e759
test dl, dl
je 0x46e755
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x46e759
add ecx, 2
add esi, 2
test dl, dl
jne 0x46e735
xor ecx, ecx
jmp 0x46e75e
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
mov esi, 0x5f3cf8
jne 0x46e7a6
mov eax, dword [esp + 0x40]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e78f
test cl, cl
je 0x46e78b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e78f
add eax, 2
add esi, 2
test cl, cl
jne 0x46e76b
xor eax, eax
jmp 0x46e794
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e79f
push 0x5ecff8
jmp 0x46e810
push 0x5ecedc
jmp 0x46e810
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e7cc
test cl, cl
je 0x46e7c8
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e7cc
add eax, 2
add esi, 2
test cl, cl
jne 0x46e7a8
xor eax, eax
jmp 0x46e7d1
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x46e817
mov eax, dword [esp + 0x40]
mov esi, 0x5f3cf8
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x46e802
test cl, cl
je 0x46e7fe
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x46e802
add eax, 2
add esi, 2
test cl, cl
jne 0x46e7de
xor eax, eax
jmp 0x46e807
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x46e817
push 0x5ed010
mov ecx, ebp
call fcn.005574fa
lea ecx, [esp + 0x40]
mov byte [esp + 0x154], 0x2b
call fcn.0055711e
lea ecx, [esp + 0x50]
mov byte [esp + 0x154], 0x2a
call fcn.0055711e
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x154], 7
cmp eax, ebx
je 0x46e84f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [esp + 0x54]
push ebx
inc edi
lea ecx, [esp + 0x2c]
mov dword [esp + 0x58], edi
call fcn.0048dc80
test al, al
je 0x46d4f9
push 0x5f331c
mov ecx, ebp
call fcn.005574fa
mov eax, dword [esp + 0x30]
mov byte [esp + 0x154], 6
cmp eax, ebx
je 0x46e88c
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x154], 5
cmp eax, ebx
je 0x46e8a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x20]
mov byte [esp + 0x154], 4
call fcn.0055711e
lea ecx, [esp + 0x10]
mov byte [esp + 0x154], 3
call fcn.0055711e
lea ecx, [esp + 0x48]
mov byte [esp + 0x154], 2
call fcn.0055711e
mov eax, dword [esp + 0x18]
mov byte [esp + 0x154], 1
cmp eax, ebx
je 0x46e8eb
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x28]
mov byte [esp + 0x154], 0
cmp eax, ebx
je 0x46e901
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x154], 0xffffffff
cmp eax, ebx
je 0x46e91d
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x14c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x148
ret 0x10