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

Disassembly:
push 0xffffffffffffffff
push 0x57723e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x264
mov eax, dword [esp + 0x278]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov ebx, ecx
cmp eax, edi
mov dword [esp + 0x74], ebx
je 0x4411c7
lea ecx, [eax + 4]
jmp 0x4411c9
xor ecx, ecx
mov ecx, dword [ecx]
cmp ecx, edi
mov dword [esp + 0x1c], ecx
je 0x4411d5
inc dword [ecx]
mov ecx, dword [eax + 8]
mov edx, 0x596bf8
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
cmp eax, edi
mov dword [esp + 0x27c], edi
je 0x4411f5
lea ecx, [eax + 4]
jmp 0x4411f7
xor ecx, ecx
mov ecx, dword [ecx]
cmp ecx, edi
mov dword [esp + 0x68], ecx
je 0x441203
inc dword [ecx]
mov ecx, dword [eax + 8]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], ecx
cmp eax, edi
je 0x441217
lea ecx, [eax + 4]
jmp 0x441219
xor ecx, ecx
mov ecx, dword [ecx]
cmp ecx, edi
mov dword [esp + 0xb8], ecx
je 0x441228
inc dword [ecx]
mov dword [esp + 0xb4], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xbc], edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
mov ebp, dword [esp + 0x28c]
mov byte [esp + 0x27c], 4
mov ecx, ebp
mov dword [esp + 0x5c], edi
mov eax, dword [ebp]
mov dword [esp + 0x70], 1
call dword [eax + 0x68]
mov esi, dword [ebx + 0xc]
mov ebx, dword [ebx + 8]
lea ecx, [esp + 0x38]
mov dword [esp + 0x54], edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0x78], edi
call fcn.0042b200
mov dword [esp + 0x40], edi
push 0x5c
mov byte [esp + 0x280], 5
mov dword [esp + 0x3c], 0x597fc4
call fcn.00564fcb
add esp, 4
mov dword [esp + 0x58], eax
cmp eax, edi
mov byte [esp + 0x27c], 6
je 0x4412bb
push esi
push ebx
mov ecx, eax
call fcn.0046d440
jmp 0x4412bd
xor eax, eax
cmp eax, edi
mov dword [esp + 0x40], eax
je 0x4412cc
mov dword [eax + 8], 1
mov edx, dword [ebp]
push ecx
mov eax, esp
mov dword [esp + 0x5c], esp
push eax
mov ecx, ebp
mov byte [esp + 0x284], 7
call dword [edx + 0xe4]
lea ecx, [esp + 0x3c]
call fcn.00402e50
mov edx, dword [ebp]
push ecx
mov eax, esp
mov dword [esp + 0x5c], esp
push eax
mov ecx, ebp
call dword [edx + pe_nt_image_headers32]
lea ecx, [esp + 0x3c]
call fcn.00402f10
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x138]
test al, al
je 0x44132a
mov eax, dword [ebp]
mov ecx, ebp
call dword [eax + 0xf4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], edi
cmp eax, edi
jbe 0x44294d
mov edx, dword [ebp]
mov ecx, ebp
mov byte [esp + 0x17], 0
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x13], 0
mov byte [esp + 0x11], 0
call dword [edx + 0x138]
test al, al
je 0x441452
mov esi, dword [esp + 0x4c]
mov eax, dword [ebp]
lea ecx, [esp + 0x1d4]
push esi
push ecx
mov ecx, ebp
call dword [eax + 0xf8]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp]
lea ecx, [esp + 0x234]
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0x5c], edx
call dword [eax + 0xf8]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp]
lea ecx, [esp + 0x1f4]
push esi
push ecx
mov ecx, ebp
mov dword [esp + 0xc8], edx
call dword [eax + 0xf8]
mov edx, dword [eax + 4]
mov eax, dword [ebp]
push edx
lea ecx, [esp + 0x218]
push esi
push ecx
mov ecx, ebp
call dword [eax + 0xf8]
mov edx, dword [eax]
lea eax, [esp + 0xe4]
push edx
push eax
lea ecx, [esp + 0xc0]
call fcn.00414940
mov esi, eax
mov ebx, dword [esp + 0x288]
mov byte [esp + 0x27c], 8
cmp ebx, esi
je 0x44141e
mov eax, dword [ebx + 4]
lea edi, [ebx + 4]
test eax, eax
je 0x44140d
push eax
mov ecx, edi
call fcn.00411610
mov eax, dword [esi + 4]
test eax, eax
mov dword [edi], eax
je 0x441418
inc dword [eax]
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
lea esi, [esp + 0xe0]
lea edx, [esp + 0xe4]
neg esi
sbb esi, esi
mov byte [esp + 0x27c], 7
and esi, edx
mov eax, dword [esi]
test eax, eax
je 0x441448
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], 0
xor esi, esi
jmp 0x44145b
mov ebx, dword [esp + 0x288]
xor esi, esi
mov edi, dword [esp + 0x54]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x87]
push eax
lea edx, [esp + 0x4c]
push ecx
push edx
push ebx
call fcn.00465e30
cmp dword [esp + 0x4c], esi
jne 0x441485
mov al, byte [esp + 0x48]
mov byte [esp + 0x36], al
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 8]
push edx
call fcn.00466280
test al, al
je 0x44149e
mov al, byte [esp + 0x36]
mov byte [esp + 0x48], al
mov ecx, dword [esp + 0xc0]
lea eax, [ecx + edi]
cmp edi, eax
mov dword [esp + 0x50], eax
jae 0x4417ec
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 0xc8]
test al, al
jne 0x4417df
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
cmp dword [eax + 0xc], esi
je 0x441679
mov eax, dword [ebp]
push edi
mov ecx, ebp
xor ebx, ebx
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
cmp dword [eax + 0xc], esi
jbe 0x4417df
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
push ebx
mov ecx, eax
call fcn.0041d8d0
cmp byte [eax + 4], 0xff
je 0x441654
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0xac]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x280], 9
call fcn.00404a90
mov eax, dword [esp + 0xac]
mov byte [esp + 0x27c], 7
cmp eax, esi
je 0x441580
push eax
lea ecx, [esp + 0xb0]
call fcn.00411610
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xac], esi
cmp eax, esi
je 0x44159b
mov eax, dword [eax + 8]
cmp eax, esi
je 0x44159b
dec eax
cmp eax, esi
jne 0x4415e4
mov edx, dword [ebp]
push edi
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
push ebx
mov ecx, eax
call fcn.0041d8d0
mov esi, eax
lea eax, [esp + 0x1c]
add esi, 8
cmp eax, esi
je 0x4415e4
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4415d8
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov esi, dword [esi]
test esi, esi
mov dword [esp + 0x1c], esi
je 0x4415e4
inc dword [esi]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x2c]
push ecx
lea eax, [esp + 0x16]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
call fcn.00465e30
mov al, byte [esp + 0x12]
cmp al, 1
jne 0x44160b
mov byte [esp + 0x15], al
jmp 0x44161f
cmp al, 2
jne 0x441616
mov byte [esp + 0x17], 1
jmp 0x44161f
cmp al, 3
jne 0x44161f
mov byte [esp + 0x14], 1
xor esi, esi
lea edx, [esp + 0x28]
push esi
push edx
lea ecx, [esp + 0x2c]
call fcn.004124b0
cmp eax, 3
jne 0x44163c
mov byte [esp + 0x13], 1
jmp 0x441654
lea eax, [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00441000
test al, al
je 0x441654
mov byte [esp + 0x11], 1
mov edx, dword [ebp]
push edi
mov ecx, ebp
inc ebx
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
cmp ebx, dword [eax + 0xc]
jb 0x441508
jmp 0x4417df
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x80]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
mov ebx, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
cmp edx, ebx
mov byte [esp + 0x27c], 0xa
je 0x4416ce
cmp eax, esi
je 0x4416bb
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov eax, dword [ebx]
cmp eax, esi
mov dword [esp + 0x1c], eax
je 0x4416ce
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x27c], 7
cmp ecx, esi
je 0x4416f2
push ecx
lea ecx, [esp + 0x84]
call fcn.00411610
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x80], esi
je 0x441709
mov eax, dword [eax + 8]
cmp eax, esi
je 0x441709
dec eax
cmp eax, esi
jne 0x441771
mov eax, dword [ebp]
lea ecx, [esp + 0xa0]
push edi
push ecx
mov ecx, ebp
call dword [eax + 0x78]
mov ebx, eax
lea edx, [esp + 0x1c]
mov byte [esp + 0x27c], 0xb
cmp edx, ebx
je 0x44174a
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x44173e
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov ebx, dword [ebx]
cmp ebx, esi
mov dword [esp + 0x1c], ebx
je 0x44174a
inc dword [ebx]
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x27c], 7
cmp eax, esi
je 0x44176a
push eax
lea ecx, [esp + 0xa4]
call fcn.00411610
mov dword [esp + 0xa0], esi
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x16]
push ecx
lea eax, [esp + 0x20]
push edx
push eax
call fcn.00465e30
mov al, byte [esp + 0x12]
cmp al, 1
jne 0x441798
mov byte [esp + 0x15], al
jmp 0x4417ac
cmp al, 2
jne 0x4417a3
mov byte [esp + 0x17], 1
jmp 0x4417ac
cmp al, 3
jne 0x4417ac
mov byte [esp + 0x14], 1
lea ecx, [esp + 0x28]
push esi
push ecx
lea ecx, [esp + 0x2c]
call fcn.004124b0
cmp eax, 3
jne 0x4417c7
mov byte [esp + 0x13], 1
jmp 0x4417df
lea edx, [esp + 0x28]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.00441000
test al, al
je 0x4417df
mov byte [esp + 0x11], 1
mov eax, dword [esp + 0x50]
inc edi
cmp edi, eax
jb 0x4414b4
mov al, byte [esp + 0x15]
xor esi, esi
test al, al
je 0x4417fb
mov esi, 0x20
mov al, byte [esp + 0x17]
test al, al
je 0x441806
add esi, 0x10
mov al, byte [esp + 0x14]
test al, al
je 0x441811
add esi, 8
mov al, byte [esp + 0x284]
test al, al
jne 0x44181f
add esi, 4
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x74]
and ecx, 0xff
mov edx, 3
sub edx, ecx
mov ecx, dword [eax + 8]
push ecx
add esi, edx
call fcn.00466280
test al, al
je 0x4418c1
mov dl, byte [esi + esi*2 + 0x5cab88]
mov al, byte [esi + esi*2 + 0x5cab89]
mov bl, byte [esi + esi*2 + 0x5cab8a]
mov byte [esp + 0x15], dl
mov edx, dword [ebp]
mov ecx, ebp
mov byte [esp + 0x2f], al
mov byte [esp + 0x16], bl
call dword [edx + 0x138]
test al, al
je 0x4418e2
push 0
push 0
push 0x2d
lea ecx, [esp + 0xc4]
call fcn.004128a0
test al, al
jne 0x4418e2
cmp byte [esp + 0x36], 3
jne 0x4418e2
test bl, bl
jne 0x4418ad
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x4c]
dec eax
cmp ecx, eax
jae 0x4418ad
mov al, byte [esp + 0x15]
inc al
mov byte [esp + 0x16], al
jmp 0x4418e2
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x4c]
dec ecx
cmp eax, ecx
jne 0x4418e2
mov byte [esp + 0x16], 0
jmp 0x4418e2
mov dl, byte [esi + esi*2 + 0x5caac8]
mov al, byte [esi + esi*2 + 0x5caac9]
mov cl, byte [esi + esi*2 + 0x5caaca]
mov byte [esp + 0x15], dl
mov byte [esp + 0x2f], al
mov byte [esp + 0x16], cl
mov al, byte [esp + 0x13]
test al, al
je 0x44190f
mov al, byte [esp + 0x11]
mov byte [esp + 0x2e], 1
test al, al
mov byte [esp + 0x2d], 0
mov byte [esp + 0x17], 0
je 0x44191e
cmp byte [esp + 0x48], 3
jne 0x44191e
mov byte [esp + 0x17], 2
jmp 0x44191e
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2d], 1
mov byte [esp + 0x17], 1
push 0
lea ecx, [esp + 0xd4]
call fcn.0041eae0
mov byte [esp + 0x27c], 0xc
mov byte [esp + 0x14], 1
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
cmp eax, ecx
mov dword [esp + 0x30], eax
jae 0x4426b6
mov eax, dword [esp + 0x30]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov byte [esp + 0x3b], 0
call dword [edx + 0xc4]
test al, al
jne 0x4426a1
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x138]
test al, al
jne 0x441998
mov esi, dword [esp + 0x30]
mov eax, dword [ebp]
push esi
mov ecx, ebp
call dword [eax + 0xc8]
test al, al
jne 0x44263e
jmp 0x44199c
mov esi, dword [esp + 0x30]
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ecx, dword [eax + 0xc]
xor edi, edi
cmp ecx, edi
je 0x44200e
mov eax, dword [ebp]
push esi
mov ecx, ebp
mov dword [esp + 0x64], edi
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
cmp dword [eax + 0xc], edi
jbe 0x4426a1
mov edi, dword [esp + 0x30]
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
cmp edx, esi
mov byte [esp + 0x27c], 0xd
je 0x441a3b
test eax, eax
je 0x441a28
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov eax, dword [esi]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x441a3b
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa8]
mov byte [esp + 0x27c], 0xc
test ecx, ecx
je 0x441a5f
push ecx
lea ecx, [esp + 0xac]
call fcn.00411610
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0xa8], 0
je 0x441a7a
mov eax, dword [eax + 8]
test eax, eax
je 0x441a7a
dec eax
test eax, eax
jne 0x441ac7
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, eax
call fcn.0041d8d0
mov esi, eax
lea edx, [esp + 0x1c]
add esi, 8
cmp edx, esi
je 0x441ac7
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x441abb
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov esi, dword [esi]
test esi, esi
mov dword [esp + 0x1c], esi
je 0x441ac7
inc dword [esi]
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
lea edx, [esp + 0x16]
push ecx
lea eax, [esp + 0x20]
push edx
push eax
call fcn.00465e30
lea ecx, [esp + 0x28]
push 0
push ecx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x19], 0
call fcn.004124b0
mov bl, byte [esp + 0x14]
cmp eax, 3
jne 0x441b04
cmp byte [esp + 0x2e], bl
je 0x441b3d
cmp byte [esp + 0x48], 3
jne 0x441b24
lea edx, [esp + 0x28]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.004410b0
test al, al
je 0x441b24
cmp byte [esp + 0x17], bl
je 0x441b3d
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.00441000
test al, al
je 0x441b42
cmp byte [esp + 0x2d], bl
jne 0x441b42
mov byte [esp + 0x11], 1
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 8]
push ecx
call fcn.00466280
test al, al
je 0x441ea0
mov al, byte [esp + 0x12]
cmp al, 1
jne 0x441ebb
mov eax, dword [esp + 0x30]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
cmp al, 4
jne 0x441ea0
lea eax, [esp + 0xb0]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.TPofS
call fcn.00411a30
mov eax, dword [esp + 0x38]
mov edx, dword [ebp]
push eax
mov ecx, ebp
mov byte [esp + 0x288], 0xe
call dword [edx + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x1ac]
push ecx
mov ecx, eax
call dword [edx + 0x98]
lea edx, [esp + 0x124]
mov ecx, eax
push edx
mov byte [esp + 0x288], 0x10
call fcn.004211c0
mov ecx, eax
mov byte [esp + 0x280], 0x11
call fcn.0046e260
xor esi, esi
mov ecx, eax
push esi
push str.Noun
mov byte [esp + 0x284], 0x12
call fcn.00412440
cmp eax, 3
mov eax, dword [esp + 0xb0]
setne bl
cmp eax, esi
mov byte [esp + 0x27c], 0x11
je 0x441c28
push eax
lea ecx, [esp + 0xb4]
call fcn.00411610
mov eax, dword [esp + 0x120]
mov dword [esp + 0xb0], esi
cmp eax, esi
mov byte [esp + 0x27c], 0x10
je 0x441c4f
push eax
lea ecx, [esp + 0x124]
call fcn.00411610
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x120], esi
mov byte [esp + 0x27c], 0xc
call fcn.00420a70
test bl, bl
je 0x441ea0
mov al, byte [esp + 0x16]
test al, al
jne 0x441ea0
cmp byte [esp + 0x48], 3
jne 0x441ea0
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
cmp edi, eax
jae 0x441ea0
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x94]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
cmp edx, esi
mov byte [esp + 0x27c], 0x13
je 0x441cf2
xor ebx, ebx
cmp eax, ebx
je 0x441cdd
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov eax, dword [esi]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x441cf4
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
jmp 0x441cf4
xor ebx, ebx
mov ecx, dword [esp + 0x94]
mov byte [esp + 0x27c], 0xc
cmp ecx, ebx
je 0x441d18
push ecx
lea ecx, [esp + 0x98]
call fcn.00411610
mov eax, dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0x94], ebx
je 0x441d2f
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x441d2f
dec eax
cmp eax, ebx
jne 0x441d97
mov eax, dword [ebp]
lea ecx, [esp + 0x88]
push edi
push ecx
mov ecx, ebp
call dword [eax + 0x78]
mov esi, eax
lea edx, [esp + 0x1c]
mov byte [esp + 0x27c], 0x14
cmp edx, esi
je 0x441d70
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x441d64
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov esi, dword [esi]
cmp esi, ebx
mov dword [esp + 0x1c], esi
je 0x441d70
inc dword [esi]
mov eax, dword [esp + 0x88]
mov byte [esp + 0x27c], 0xc
cmp eax, ebx
je 0x441d90
push eax
lea ecx, [esp + 0x8c]
call fcn.00411610
mov dword [esp + 0x88], ebx
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
cmp al, 4
jne 0x441e93
lea eax, [esp + 0x7c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.TPofS
call fcn.00411a30
mov edx, dword [ebp]
push edi
mov ecx, ebp
mov byte [esp + 0x288], 0x15
call dword [edx + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x1c4]
push ecx
mov ecx, eax
call dword [edx + 0x98]
lea edx, [esp + 0x114]
mov ecx, eax
push edx
mov byte [esp + 0x288], 0x17
call fcn.004211c0
mov ecx, eax
mov byte [esp + 0x280], 0x18
call fcn.0046e260
push ebx
push str.Noun
mov ecx, eax
mov byte [esp + 0x284], 0x19
call fcn.00412440
xor ecx, ecx
cmp eax, 3
mov eax, dword [esp + 0x7c]
mov byte [esp + 0x27c], 0x18
sete cl
cmp eax, ebx
mov esi, ecx
je 0x441e50
push eax
lea ecx, [esp + 0x80]
call fcn.00411610
mov eax, dword [esp + 0x110]
mov dword [esp + 0x7c], ebx
cmp eax, ebx
mov byte [esp + 0x27c], 0x17
je 0x441e74
push eax
lea ecx, [esp + 0x114]
call fcn.00411610
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x110], ebx
mov byte [esp + 0x27c], 0xc
call fcn.00420a70
cmp esi, ebx
jne 0x441eb4
mov eax, dword [esp + 0x50]
inc edi
cmp edi, eax
jb 0x441c99
mov al, byte [esp + 0x12]
cmp al, 1
jne 0x441ebb
mov dl, byte [esp + 0x13]
mov al, byte [esp + 0x16]
cmp al, dl
jmp 0x441ec9
mov byte [esp + 0x12], 3
jmp 0x441f00
cmp al, 2
jne 0x441efc
mov al, byte [esp + 0x13]
mov cl, byte [esp + 0x2f]
cmp cl, al
je 0x441f0c
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x60]
mov edx, dword [ebp]
inc esi
push ebx
mov ecx, ebp
mov dword [esp + 0x64], esi
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
cmp esi, dword [eax + 0xc]
jb 0x4419e2
jmp 0x442636
cmp al, 3
jne 0x441ecb
mov cl, byte [esp + 0x13]
mov al, byte [esp + 0x15]
cmp al, cl
jne 0x441ecb
mov al, byte [esp + 0x11]
test al, al
je 0x441ecb
mov ebx, dword [esp + 0x30]
mov edx, dword [ebp]
lea eax, [esp + 0x14c]
push ebx
push eax
mov ecx, ebp
call dword [edx + 0xb4]
push eax
lea ecx, [esp + 0xd4]
mov byte [esp + 0x280], 0x1a
call fcn.0041ec20
lea ecx, [esp + 0x14c]
mov byte [esp + 0x27c], 0xc
call fcn.0041ebf0
mov edx, dword [ebp]
push ebx
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov esi, eax
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xac]
mov ecx, dword [esp + 0x60]
push ecx
mov ecx, eax
call fcn.0041d8d0
mov edx, dword [esp + 0x60]
mov ecx, esi
push edx
mov edi, eax
call fcn.0041d8d0
xor ecx, ecx
mov cl, byte [eax + 5]
mov al, 1
dec ecx
shl al, cl
xor ecx, ecx
mov cl, byte [edi + 4]
push eax
push ecx
lea ecx, [esp + 0xd8]
call fcn.0046e710
sub esp, 0x10
lea edx, [esp + 0xe0]
mov ecx, esp
mov dword [esp + 0x54], esp
push edx
call fcn.0041ec00
mov eax, dword [ebp]
push ebx
mov ecx, ebp
call dword [eax + 0x98]
mov eax, dword [esp + 0x68]
mov byte [esp + 0x37], 1
test eax, eax
je 0x441ff3
push eax
lea ecx, [esp + 0x6c]
call fcn.00411610
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x68], eax
je 0x442001
inc dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], ecx
jmp 0x441ecf
mov eax, dword [ebp]
push esi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x8c]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
mov ebx, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
cmp edx, ebx
mov byte [esp + 0x27c], 0x1b
je 0x442063
cmp eax, edi
je 0x442050
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov eax, dword [ebx]
cmp eax, edi
mov dword [esp + 0x1c], eax
je 0x442063
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8c]
mov byte [esp + 0x27c], 0xc
cmp ecx, edi
je 0x442087
push ecx
lea ecx, [esp + 0x90]
call fcn.00411610
mov eax, dword [esp + 0x1c]
cmp eax, edi
mov dword [esp + 0x8c], edi
je 0x44209e
mov eax, dword [eax + 8]
cmp eax, edi
je 0x44209e
dec eax
cmp eax, edi
jne 0x442106
mov eax, dword [ebp]
lea ecx, [esp + 0x98]
push esi
push ecx
mov ecx, ebp
call dword [eax + 0x78]
mov ebx, eax
lea edx, [esp + 0x1c]
mov byte [esp + 0x27c], 0x1c
cmp edx, ebx
je 0x4420df
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x4420d3
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov ebx, dword [ebx]
cmp ebx, edi
mov dword [esp + 0x1c], ebx
je 0x4420df
inc dword [ebx]
mov eax, dword [esp + 0x98]
mov byte [esp + 0x27c], 0xc
cmp eax, edi
je 0x4420ff
push eax
lea ecx, [esp + 0x9c]
call fcn.00411610
mov dword [esp + 0x98], edi
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5cac74
call fcn.00411a30
mov eax, dword [ebp]
push esi
mov ecx, ebp
mov byte [esp + 0x284], 0x1d
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x160]
push ecx
mov ecx, eax
call dword [edx + 0x98]
mov ecx, eax
mov byte [esp + 0x280], 0x1f
call fcn.00421110
lea ecx, [esp + 0x15c]
mov bl, al
mov byte [esp + 0x27c], 0xc
call fcn.00420a70
test bl, bl
je 0x442171
push 0x73
lea ecx, [esp + 0x20]
call fcn.004122c0
lea edx, [esp + 0x24]
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x16]
push eax
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.00465e30
lea eax, [esp + 0x28]
push edi
push eax
lea ecx, [esp + 0x2c]
call fcn.004124b0
cmp eax, 3
je 0x4421ad
lea ecx, [esp + 0x28]
lea edx, [esp + 0x24]
push ecx
push edx
call fcn.00441000
mov ebx, dword [esp + 0x74]
mov eax, dword [ebx + 8]
push eax
call fcn.00466280
test al, al
je 0x4421f0
cmp byte [esp + 0x12], 1
jne 0x4421f0
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
cmp al, 3
jne 0x4421f0
mov al, byte [esp + 0x16]
test al, al
jne 0x4421f0
cmp byte [esp + 0x48], 3
jne 0x4421f0
mov byte [esp + 0x12], 3
mov eax, dword [ebx + 8]
push eax
call fcn.00466280
test al, al
je 0x442545
cmp byte [esp + 0x12], 1
jne 0x442545
mov edx, dword [ebp]
push esi
mov ecx, ebp
call dword [edx + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
cmp al, 4
jne 0x442545
lea eax, [esp + 0x90]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.TPofS
call fcn.00411a30
mov edx, dword [ebp]
push esi
mov ecx, ebp
mov byte [esp + 0x288], 0x20
call dword [edx + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x17c]
push ecx
mov ecx, eax
call dword [edx + 0x98]
lea edx, [esp + 0xf4]
mov ecx, eax
push edx
mov byte [esp + 0x288], 0x22
call fcn.004211c0
mov ecx, eax
mov byte [esp + 0x280], 0x23
call fcn.0046e260
push edi
push str.Noun
mov ecx, eax
mov byte [esp + 0x284], 0x24
call fcn.00412440
cmp eax, 3
mov eax, dword [esp + 0x90]
setne bl
cmp eax, edi
mov byte [esp + 0x27c], 0x23
je 0x4422c7
push eax
lea ecx, [esp + 0x94]
call fcn.00411610
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x90], edi
cmp eax, edi
mov byte [esp + 0x27c], 0x22
je 0x4422ee
push eax
lea ecx, [esp + 0xf4]
call fcn.00411610
lea ecx, [esp + 0x174]
mov dword [esp + 0xf0], edi
mov byte [esp + 0x27c], 0xc
call fcn.00420a70
test bl, bl
je 0x442545
mov al, byte [esp + 0x16]
test al, al
jne 0x442545
cmp byte [esp + 0x48], 3
jne 0x442545
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
cmp edi, eax
jae 0x442543
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0xa4]
push ecx
mov ecx, eax
call dword [edx + 0x8c]
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
cmp edx, esi
mov byte [esp + 0x27c], 0x25
je 0x442391
xor ebx, ebx
cmp eax, ebx
je 0x44237c
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov eax, dword [esi]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x442393
mov ecx, dword [eax]
inc ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
jmp 0x442393
xor ebx, ebx
mov ecx, dword [esp + 0xa4]
mov byte [esp + 0x27c], 0xc
cmp ecx, ebx
je 0x4423b7
push ecx
lea ecx, [esp + 0xa8]
call fcn.00411610
mov eax, dword [esp + 0x1c]
cmp eax, ebx
mov dword [esp + 0xa4], ebx
je 0x4423ce
mov eax, dword [eax + 8]
cmp eax, ebx
je 0x4423ce
dec eax
cmp eax, ebx
jne 0x442436
mov eax, dword [ebp]
lea ecx, [esp + 0x9c]
push edi
push ecx
mov ecx, ebp
call dword [eax + 0x78]
mov esi, eax
lea edx, [esp + 0x1c]
mov byte [esp + 0x27c], 0x26
cmp edx, esi
je 0x44240f
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x442403
push eax
lea ecx, [esp + 0x20]
call fcn.00411610
mov esi, dword [esi]
cmp esi, ebx
mov dword [esp + 0x1c], esi
je 0x44240f
inc dword [esi]
mov eax, dword [esp + 0x9c]
mov byte [esp + 0x27c], 0xc
cmp eax, ebx
je 0x44242f
push eax
lea ecx, [esp + 0xa0]
call fcn.00411610
mov dword [esp + 0x9c], ebx
mov eax, dword [ebp]
push edi
mov ecx, ebp
call dword [eax + 0x84]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x38]
cmp al, 4
jne 0x44252f
lea eax, [esp + 0x58]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push str.TPofS
call fcn.00411a30
mov edx, dword [ebp]
push edi
mov ecx, ebp
mov byte [esp + 0x288], 0x27
call dword [edx + 0x84]
mov edx, dword [eax]
lea ecx, [esp + 0x194]
push ecx
mov ecx, eax
call dword [edx + 0x98]
lea edx, [esp + 0x104]
mov ecx, eax
push edx
mov byte [esp + 0x288], 0x29
call fcn.004211c0
mov ecx, eax
mov byte [esp + 0x280], 0x2a
call fcn.0046e260
push ebx
push str.Noun
mov ecx, eax
mov byte [esp + 0x284], 0x2b
call fcn.00412440
xor ecx, ecx
cmp eax, 3
mov eax, dword [esp + 0x58]
mov byte [esp + 0x27c], 0x2a
sete cl
cmp eax, ebx
mov esi, ecx
je 0x4424ec
push eax
lea ecx, [esp + 0x5c]
call fcn.00411610
mov eax, dword [esp + 0x100]
mov dword [esp + 0x58], ebx
cmp eax, ebx
mov byte [esp + 0x27c], 0x29
je 0x442510
push eax
lea ecx, [esp + 0x104]
call fcn.00411610
lea ecx, [esp + 0x18c]
mov dword [esp + 0x100], ebx
mov byte [esp + 0x27c], 0xc
call fcn.00420a70
cmp esi, ebx
jne 0x44253e
mov eax, dword [esp + 0x50]
inc edi
cmp edi, eax
jb 0x442338
jmp 0x442543
mov byte [esp + 0x12], 3
xor edi, edi
lea edx, [esp + 0x28]
push edi
push edx
lea ecx, [esp + 0x2c]
mov byte [esp + 0x19], 0
call fcn.004124b0
mov bl, byte [esp + 0x14]
cmp eax, 3
jne 0x442568
cmp byte [esp + 0x2e], bl
je 0x4425a1
cmp byte [esp + 0x48], 3
jne 0x442588
lea eax, [esp + 0x28]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.004410b0
test al, al
je 0x442588
cmp byte [esp + 0x17], bl
je 0x4425a1
lea edx, [esp + 0x28]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.00441000
test al, al
je 0x4425a6
cmp byte [esp + 0x2d], bl
jne 0x4425a6
mov byte [esp + 0x11], 1
mov al, byte [esp + 0x12]
cmp al, 1
jne 0x4425bf
mov cl, byte [esp + 0x16]
mov al, byte [esp + 0x13]
cmp cl, al
je 0x4425ec
jmp 0x4426a1
cmp al, 2
jne 0x4425d4
mov dl, byte [esp + 0x13]
mov al, byte [esp + 0x2f]
cmp al, dl
je 0x4425ec
jmp 0x4426a1
cmp al, 3
jne 0x4426a1
mov al, byte [esp + 0x13]
mov cl, byte [esp + 0x15]
cmp cl, al
jne 0x4426a1
mov al, byte [esp + 0x11]
test al, al
je 0x4426a1
mov eax, dword [esp + 0x30]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0xc8]
test al, al
jne 0x44263e
mov eax, dword [esp + 0x68]
test eax, eax
je 0x44261e
push eax
lea ecx, [esp + 0x6c]
call fcn.00411610
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [esp + 0x68], eax
je 0x44262c
inc dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x6c], ecx
jmp 0x44263e
mov al, byte [esp + 0x37]
test al, al
je 0x4426a1
lea eax, [esp + 0x64]
lea edx, [esp + 0x68]
neg eax
sbb eax, eax
push ecx
and eax, edx
mov ecx, esp
mov dword [esp + 0x48], esp
mov eax, dword [eax]
test eax, eax
mov dword [ecx], eax
je 0x44265d
inc dword [eax]
mov esi, dword [esp + 0x34]
mov eax, dword [ebp]
push esi
mov ecx, ebp
call dword [eax + 0x8c]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x38]
call dword [edx + 0x14]
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x44268f
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
push esi
push edx
mov edx, dword [esp + 0x64]
push edx
call dword [eax + 0x50]
mov eax, dword [ebp]
push 1
push esi
mov ecx, ebp
call dword [eax + 0xa8]
inc dword [esp + 0x5c]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x50]
inc eax
cmp eax, ecx
mov dword [esp + 0x30], eax
jb 0x441952
mov al, byte [esp + 0x13]
inc al
cmp al, 3
mov byte [esp + 0x13], al
jbe 0x44193e
mov al, byte [esp + 0x14]
inc al
cmp al, 2
mov byte [esp + 0x14], al
jbe 0x441939
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x138]
test al, al
je 0x442922
mov ecx, dword [esp + 0x4c]
mov eax, dword [ebp]
lea edx, [esp + 0x254]
push ecx
push edx
mov ecx, ebp
call dword [eax + 0xf8]
mov ecx, 8
mov esi, eax
lea edi, [esp + 0x12c]
xor ebx, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x78]
cmp ecx, ebx
mov dword [esp + 0x13c], esi
je 0x442735
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esp + 0x40]
jmp 0x442737
xor eax, eax
sub eax, esi
mov dword [esp + 0x140], eax
jne 0x4428da
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 8]
push edx
call fcn.00466280
test al, al
jne 0x442a7e
mov eax, dword [esp + 0x288]
cmp eax, ebx
je 0x44276d
lea esi, [eax + 4]
mov edi, esi
jmp 0x442771
xor esi, esi
xor edi, edi
push ecx
mov ecx, esp
mov dword [esp + 0x48], esp
push 0x5d7ff8
call fcn.00411a30
push ecx
mov byte [esp + 0x284], 0x2d
mov ecx, esp
mov dword [esp + 0x80], esp
push 0x5d7ff8
call fcn.00411a30
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push esi
call fcn.00401ed0
sub esp, 0x10
mov byte [esp + 0x298], 0x2f
mov ecx, esp
mov dword [esp + 0x7c], esp
push ebx
call fcn.0041e0f0
sub esp, 0x10
mov byte [esp + 0x2a8], 0x30
mov ecx, esp
mov dword [esp + 0x7c], esp
push 0x5d8ab0
call fcn.0041ec00
push 0xff
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push edi
call fcn.00401ed0
lea ecx, [esp + 0xfc]
mov byte [esp + 0x2b4], 0xc
call fcn.0041ca20
sub esp, 0xc
mov ecx, esp
mov dword [esp + 0x50], esp
mov dword [esp + 0x50], ecx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx], 0x5969d4
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 4]
mov dword [ecx + 4], eax
mov eax, edx
cmp eax, ebx
mov byte [esp + 0x288], 0x32
je 0x44283a
inc dword [eax + 8]
push ecx
call fcn.0040ba30
lea ecx, [esp + 0x44]
mov byte [esp + 0x288], 0x31
call fcn.00401a20
mov dword [esp + 0xc4], 0x5969d4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x27c], 0x33
push ecx
call fcn.0040ba30
mov eax, dword [esp + 0xcc]
mov byte [esp + 0x27c], 0xc
cmp eax, ebx
mov dword [esp + 0xc4], 0x5968f0
je 0x4428b4
mov ecx, dword [eax + 8]
dec ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xcc]
cmp dword [ecx + 8], ebx
jne 0x4428ad
cmp ecx, ebx
je 0x4428ad
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov dword [esp + 0xcc], ebx
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
je 0x4428cb
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], eax
jmp 0x4428cf
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x140], 1
cmp ecx, ebx
je 0x4428e9
mov edx, dword [ecx]
call dword [edx + 0x58]
mov dword [esp + 0x78], eax
jmp 0x4428ed
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x38]
call dword [eax + 0x14]
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x442922
mov edx, dword [eax]
sub esp, 0x20
mov ecx, 8
lea esi, [esp + 0x14c]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x6c]
push ecx
mov ecx, eax
call dword [edx + 0xec]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x27c], 7
call fcn.0041ebf0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x70]
inc eax
cmp eax, ecx
mov dword [esp + 0x4c], eax
jb 0x44133a
xor edi, edi
lea eax, [esp + 0x38]
cmp ebp, eax
je 0x442972
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x40]
cmp eax, edi
mov dword [ebp + 8], eax
je 0x442972
inc dword [eax + 8]
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x68]
test eax, eax
mov dword [esp + 0x38], 0x596ac0
jbe 0x442b77
mov eax, dword [esp + 0x40]
mov byte [esp + 0x27c], 0x34
cmp eax, edi
je 0x4429b8
mov ecx, dword [eax + 8]
dec ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
cmp dword [ecx + 8], edi
jne 0x4429b4
cmp ecx, edi
je 0x4429b4
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], 0x596ab8
cmp eax, edi
mov byte [esp + 0x27c], 3
je 0x4429da
push eax
lea ecx, [esp + 0x28]
call fcn.00411610
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], edi
cmp eax, edi
mov byte [esp + 0x27c], 2
je 0x4429f8
push eax
lea ecx, [esp + 0x2c]
call fcn.00411610
lea esi, [esp + 0xb4]
lea ecx, [esp + 0xb8]
neg esi
sbb esi, esi
mov dword [esp + 0x28], edi
and esi, ecx
mov byte [esp + 0x27c], 1
mov eax, dword [esi]
cmp eax, edi
je 0x442a26
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
lea esi, [esp + 0x64]
neg esi
sbb esi, esi
lea edx, [esp + 0x68]
and esi, edx
mov byte [esp + 0x27c], 0
mov eax, dword [esi]
cmp eax, edi
je 0x442a4c
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
lea esi, [esp + 0x18]
neg esi
sbb esi, esi
lea eax, [esp + 0x1c]
and esi, eax
mov dword [esp + 0x27c], 0xffffffff
mov eax, dword [esi]
cmp eax, edi
je 0x442a75
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
mov al, 1
jmp 0x442c66
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x24]
lea ecx, [esp + 0xd0]
mov byte [esp + 0x27c], 7
call fcn.0041ebf0
mov dword [esp + 0x38], 0x596ac0
lea ecx, [esp + 0x38]
mov byte [esp + 0x27c], 0x2c
call fcn.004016b0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], 0x596ab8
cmp eax, ebx
mov byte [esp + 0x27c], 3
je 0x442ad5
push eax
lea ecx, [esp + 0x28]
call fcn.00411610
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
cmp eax, ebx
mov byte [esp + 0x27c], 2
je 0x442af3
push eax
lea ecx, [esp + 0x2c]
call fcn.00411610
lea esi, [esp + 0xb4]
lea eax, [esp + 0xb8]
neg esi
sbb esi, esi
mov dword [esp + 0x28], ebx
and esi, eax
mov byte [esp + 0x27c], 1
mov eax, dword [esi]
cmp eax, ebx
je 0x442b21
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], ebx
lea esi, [esp + 0x64]
neg esi
sbb esi, esi
lea ecx, [esp + 0x68]
and esi, ecx
mov byte [esp + 0x27c], 0
mov eax, dword [esi]
cmp eax, ebx
je 0x442b47
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], ebx
lea esi, [esp + 0x18]
neg esi
sbb esi, esi
lea edx, [esp + 0x1c]
and esi, edx
mov dword [esp + 0x27c], 0xffffffff
mov eax, dword [esi]
cmp eax, ebx
je 0x442b70
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], ebx
jmp 0x442c64
mov eax, dword [esp + 0x40]
mov byte [esp + 0x27c], 0x35
cmp eax, edi
je 0x442ba5
mov ecx, dword [eax + 8]
dec ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
cmp dword [ecx + 8], edi
jne 0x442ba1
cmp ecx, edi
je 0x442ba1
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], 0x596ab8
cmp eax, edi
mov byte [esp + 0x27c], 3
je 0x442bc7
push eax
lea ecx, [esp + 0x28]
call fcn.00411610
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], edi
cmp eax, edi
mov byte [esp + 0x27c], 2
je 0x442be5
push eax
lea ecx, [esp + 0x2c]
call fcn.00411610
lea esi, [esp + 0xb4]
lea eax, [esp + 0xb8]
neg esi
sbb esi, esi
mov dword [esp + 0x28], edi
and esi, eax
mov byte [esp + 0x27c], 1
mov eax, dword [esi]
cmp eax, edi
je 0x442c13
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
lea esi, [esp + 0x64]
neg esi
sbb esi, esi
lea ecx, [esp + 0x68]
and esi, ecx
mov byte [esp + 0x27c], 0
mov eax, dword [esi]
cmp eax, edi
je 0x442c39
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
lea esi, [esp + 0x18]
neg esi
sbb esi, esi
lea edx, [esp + 0x1c]
and esi, edx
mov dword [esp + 0x27c], 0xffffffff
mov eax, dword [esi]
cmp eax, edi
je 0x442c62
push eax
mov ecx, esi
call fcn.00411610
mov dword [esi], edi
xor al, al
mov ecx, dword [esp + 0x274]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x270
ret 0xc